Dynamica

Applications
Report Issue

An easy-to-use dynamic voice channel bot.

Contributors:
README

Dynamica

Their Github

An easy-to-use dynamic voice channel bot.

Port

You will manual have to change the web port in the src/main.ts on line 24.

Docker Images (1)
Name Image
Nodejs 18 ghcr.io/ptero-eggs/yolks:nodejs_18
Startup Command
npx prisma migrate deploy && yarn start
Variables (7)

Database Path

The path in which to create the sqlite database.

Environment:
DATABASE_URL
Default:
file:/home/container/dynamica/db.sqlite
User Viewable:
User Editable:
Rules:
required|string

Token

The token for the discord bot.

Environment:
TOKEN
Default:
None
User Viewable:
User Editable:
Rules:
required|string

Guild ID

Add only if using the bot in a single guild.

Environment:
GUILD_ID
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable

Sentry DSN

The DSN for Sentry.

Environment:
SENTRY_DSN
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable

MQTT URL

The URL for the MQTT broker.

Environment:
MQTT_URL
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable

MQTT Username

The username for the MQTT broker.

Environment:
MQTT_USER
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable

MQTT Password

The password for the MQTT broker.

Environment:
MQTT_PASS
Default:
None
User Viewable:
User Editable:
Rules:
string|nullable
Installation Script
Container: node:18-bookworm-slim
Entrypoint: bash
#!/bin/bash

apt update
apt -y install tar curl jq git

mkdir -p /mnt/server
cd /mnt/server

GITHUB_PACKAGE="DynamicaBot/Dynamica-V2"

# Find GitHub download URL for Muse for specified version
LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases")

if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
    DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')
else
    VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
    if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
        DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tarball_url')
    else
        echo -e "Could not find version \"${VERSION}\" of Muse. Defaulting to latest release..."
        DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')
    fi
fi

curl -sSL -o dynamica.tar.gz ${DOWNLOAD_URL}
tar xvf dynamica.tar.gz --strip-components=1
rm dynamica.tar.gz

#curl -sSL -o tsconfig.json https://pteropaste.com/xqhjja443pbm

yarn add tsup --dev
yarn install  --frozen-lockfile

yarn generate
yarn build

rm -rf .github/ .vscode/ Dockerfile partial.Dockerfile entrypoint.sh dynamica-egg.json


## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"