# 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](https://discord.com/developers/applications) - 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 ```sh 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 ```sh 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