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 Applicationat the top right and give it an appropriate name.
- Navigate to the
Installationpage. - Under Default install settings, add the
botscope in the guild install section, and addAdministratorunder permissions.
- Navigate to the
Botpage. - Disable the
Public botoption if you prefer. - Under
Privileged Gateway Intentsenable thePresence,Server memberandmessage contentintents. - 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
botfolder. - Rename the file called
example.envto.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_IDfield of the.env. For further customization please refer to./bot/src/lib/loaders/loadEnvironment.tsto see all the available environment variables.
Note
This step is optional and only needed for very fine customization of the owlets.
- Navigate to the
owletfolder. - Make a
.envfile - refer to
./owlet/src/lib/loaders/loadEnvironment.tsto 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
botfolder. - Create a folder called
configif it does not yet exist. - Create a file named
owlets.jsonin theconfigfolder. - 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.ymlfile in the root of the project. - Set the
replicasfield 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
botfolder. - Create a folder called
configif it does not yet exist. - Create a file named
roomNames.jsonin theconfigfolder. - 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