a self-hostable single-guild discord bot for playing music and announcing vc channel joins/leaves
cache | ||
cogs | ||
config | ||
logs | ||
sounds | ||
.env.example | ||
.gitignore | ||
.style.yapf | ||
app.py | ||
docker-compose.yml | ||
Dockerfile | ||
icon2.png | ||
pdm.lock | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
umi@.service |
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
orlibsodium
- 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
- Follow the instructions at https://github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies
- Put your extracted cookies into config/cookies.txt