A modular Discord bot with a unique multi-channel music system, self-roles, levelling system and much more!
- Discord account
- Basic knowledge of docker
- Docker + compose installed
- basic knowledge on how to use json (for advanced configuration)
- Navigate to https://discord.com/developers/applications
- Click
New Application
at the top right and give it an appropriate name.
- Navigate to the
Installation
page. - Under Default install settings, add the
bot
scope in the guild install section, and addAdministrator
under permissions.
- Navigate to the
Bot
page. - Disable the
Public bot
option if you prefer. - Under
Privileged Gateway Intents
enable thePresence
,Server member
andmessage content
intents. - Find and press the reset token near the top of the page.
- Keep hold of this token for now and ensure it is kept safe.
Caution
Anyone with this token can access your bot's account!
- Navigate to the
bot
folder. - Rename the file called
example.env
to.env
. - Put the token from the previous section between the quotation mark after
DISCORD_TOKEN
. - Open Discord, right-click your profile in any DM or server, and click
Copy User ID
. - Paste this ID in the
OWNER_ID
field of the.env
. For further customization please refer to./bot/src/lib/loaders/loadEnvironment.ts
to see all the available environment variables.
Note
This step is optional and only needed for very fine customization of the owlets.
- Navigate to the
owlet
folder. - Make a
.env
file - refer to
./owlet/src/lib/loaders/loadEnvironment.ts
to see all the available environment variables.
- Open a terminal in the root folder of the project (Where this file is located).
- Run
docker compose up -d
The bot has more advanced features you can customize using JSON files, The functionality of these will be explained in this chapter.
Create additional music bot nodes for multi-channel streaming.
Note
Hootsifer will always use its own bot account for music, if you do not want to have multiple owlets you can skip this chapter.
- Navigate to the
bot
folder. - Create a folder called
config
if it does not yet exist. - Create a file named
owlets.json
in theconfig
folder. - Paste the json showed below into this file.
- Populate the fields with additional bot account credentials. (do NOT put the main bot credentials in here)
- Add additional entries as you please.
- Open the
docker-compose.yml
file in the root of the project. - Set the
replicas
field to the amount of bot account's you added toowlets.json
+ 1.
bot/config/owlets.json
[
{
"id": "",
"token": ""
}
]
Add customized room/channel names to the private room system.
- Navigate to the
bot
folder. - Create a folder called
config
if it does not yet exist. - Create a file named
roomNames.json
in theconfig
folder. - Paste the json showed below into this file.
- Add the adjectives and nouns you want to include in their respective arrays.
Warning
It is not recommended to use explicit language and sensitive words for these. This may cause discord to delist your server from discovery.
bot/config/roomNames.json
{
"adjectives": ["", ""],
"nouns": ["", ""]
}
Is there an official bot?
yes, you can invite it here
I've more questions!
You can reach us in the support server