4.6 KiB
Bot Discord
Setting up
You have to replace TOKEN_DISCORD
, PREFIX
, TOKEN_GENIUS
, TOKEN_REDDIT_CLIENT_ID
, TOKEN_REDDIT_CLIENT_SECRET
, TOKEN_REDDIT_USER_AGENT
and TIMEZONE
with your desired values. You must also specify a path to the folder where the database will be.
With a docker-compose or in command line:
First we need to create a dedicated network for our containers:
On Debian-based distro:
docker network create -d bridge default-kassoubot 2> /dev/null || true
On Windows:
docker network create -d bridge default-kassoubot 2> NUL || REM
Then we can create our containers:
docker run -d \
--name="Lavalink" \
-p 2333:2333 \
--network="default-kassoubot" \
--restart=unless-stopped \
registry.gitlab.com/confreriedukassoulait/lavalink:latest \
lavalink \
&& \
docker run -d \
--name="KassouBot" \
-e TOKEN_DISCORD="yourTokenDiscord" \
-e TOKEN_GENIUS="yourTokenGenius" \
-e TOKEN_REDDIT_CLIENT_ID="yourRedditClientID" \
-e TOKEN_REDDIT_CLIENT_SECRET="yourRedditClientSecret" \
-e TOKEN_REDDIT_USER_AGENT="yourRedditUserAgent" \
-e TIMEZONE="yourTimezone" \
-e PREFIX="yourPrefix" \
-v /here/your/path/:/opt/db \
--network="default-kassoubot" \
--restart=unless-stopped \
registry.gitlab.com/confreriedukassoulait/kassoubot
- You shouldn't change at least the service name of the Lavalink container because the bot is using his DNS name (and it's based on the service's name).
- You can add the environment variable
DEACTIVATE
to disable some cogs (separate the cogs with commas and no spaces between). - You can add the environment variable
REGION_DISCORD
to force the Lavalink server to use your voice region.
To find reddit tokens, go to this site and here are the instructions: redirection uri (for copy/paste) : http://localhost:8080
To find Genius token, go to this site, login to your account
and on the left select New API Client
. Fill the field with what you want then click Save
. Now your token is the CLIENT ACCESS TOKEN
.
Add the bot to your server
- In the Discord Dev Portal create an application, and make sure it's a
Bot
(third tab). - To invite it, go to the
OAuth2
(second tab) tab, select the scopesbot
(required) andapplications.commands
(for the slashs commands) and in the bot permissions selectAdministrator
(You can select manually at your own risk). - You have the link to copy above between the two blocks
scopes
andpermissions
. - If you need help, you can join my Discord.
Features
- Using discord.py (rewrite)
- Everything is explained by doing the
help
command. - Using SQLite for the database.
- Using Lavalink with the client Wavelink.
Launching locally
If you want to run it without Docker, clone the repo and his submodules by doing this command in the git folder:
git submodule update --force --recursive --init --remote
Then create an .env file to store variables in the root folder (there is an example here).
Install all the requirements by doing python3 -m pip install -r requirements.txt
.
If you need to install Java, there is some step to have the same as the Docker image built for the project, on Debian-based distro:
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
sudo apt update -y
sudo apt install adoptopenjdk-16-openj9 -y
On Windows just go to their site.
Then, simply run start.bat
if you are on Windows or start.sh
if on Debian-based distro to launch the bot.