umi/README.md
2024-12-01 08:22:17 +00:00

1.6 KiB

umi

a self-hostable single-guild discord bot for playing music and announcing vc channel joins/leaves

Pre-requisites

Install dependencies:

  • FFI: libffi
  • NaCl: libnacl or libsodium
  • FFmpeg: ffmpeg
  • yt-dlp: yt-dlp
  • opus: opus

Copy .env.example to .env:

  • DISCORD_BOT_TOKEN is obtained from the Discord Developer Dashboard

    • Click or create an application
    • Get your token from the "Bot" section in the sidebar menu
  • DISCORD_GUILD_ID is obtained from within the Discord app

    • Settings > Advanced > Developer Mode: enabled
    • Right click the guild and select "Copy ID"
  • DISCORD_BOT_ADMIN_ROLE_ID for reloading cogs

  • DISCORD_BOT_ADMIN_USER_ID for reloading cogs

  • DISCORD_VCJOIN_CHANNEL for the VCJoin cog

Setup

with systemd

mkdir -p /srv/discord
cd /srv/discord

sudo useradd --system -s /srv/discord discord
sudo chown -R discord:discord /srv/discord

sudo -Hu discord git clone https://git.trwnh.com/a/umi.git

python -m venv .venv
.venv/bin/pip install -r umi/requirements.txt

sudo cp umi/umi@.service /etc/systemd/system/umi@.service
sudo systemctl daemon-reload
sudo systemctl start umi@umi

...with Docker Compose

mkdir -p /srv/discord
cd /srv/discord

sudo useradd --system -s /srv/discord discord
sudo chown -R discord:discord /srv/discord

sudo -Hu discord git clone https://git.trwnh.com/a/umi.git

cd umi
sudo docker compose build
sudo docker compose up -d

Log into YouTube