### Fun
- 8ball : Ask advices from Magic 8-ball 🎱
- avatar : Show your avatar
- poke [@username] : Poke other users
### Utility (`[A]:For admins`)
- bot [reload <command>] : [A] Control bot
- broadcast [monstercat <link,text>] : [A] Send notifications
- changelog : Gives GitHub link
- finskubot : I'm bot bzz bzz'z
- guildinvite : Invite your slimy friends
- ping : Test your connection
- request [color <#colorcode>] : Request command
- userinfo : Check what informations I can get
Bot can be run as a) Node application, or as b) Docker container.
Remember clone the repository
git clone https://github.com/markspl/FinskuBot.git
- Configure
config.json
- Copy
config-example.json
and rename toconfig.json
{
"discord_options": {
"bot_token": "Bot's Discord token (https://discordapp.com/developers)",
"bot_prefix": "The prefix what your bot uses/listens. I'm using '!'",
"bot_owner": "The user ID of bot's master without '<@' and '>'",
"bot_homeserver": "The guild ID of bot's home server without '<@' and '>'",
"bot_homechannel": "The text channel ID where bot reports bot info"
}
}
- On Discord Developers Portal (https://discordapp.com/developers) create a new Application and get token (
bot_token
) request
custom role colour command works only when configureSERVER MEMBERS INTENT
on Discord Developers Portal is set on (Bot > "Settings" tab > "Bot" > Privileged Gateway Intents >SERVER MEMBERS INTENT
)bot_owner
: Some commands are only for the person who runs the botbot_homeserver
: Some commands are only for the specific server (invite, notify, request)bot_homechannel
: For now, homechannel is required to have
Example config.json
:
{
"discord_options": {
"bot_token": "abcdefg123456...",
"bot_prefix": "!!",
"bot_owner": "0123456...",
"bot_homeserver": "0123456...",
"bot_homechannel": "0123456..."
}
}
- Run bot
npm run start
ornode finskubot.js
This requires Docker and Docker Compose.
- Configure
docker-compose.yml
- Copy
docker-compose-example.yml
and rename it todocker-compose.yml
- Configure env values. This is not needed, if
config.yml
file is already configured (the app checks if env values are used):
...
environment:
- NODE_ENV=production
# Token from Discord Developers Portal
- BOT_TOKEN=TOKEN
# Token which bot uses (!command)
- BOT_PREFIX=!
# User ID who can use 'admin' commands
- BOT_OWNER=ID
# Server where bot works
- BOT_HOMESERVER=ID
# Channel where bot sends logs/info
- BOT_HOMECHANNEL=ID
- Run container
docker-compose up
Finally, invite bot using link https://discordapp.com/oauth2/authorize?client_id=APPLICATIONID&scope=bot&permissions=8
- where
APPLICATIONID
is bot's ID which can be found from Discord Developers Portal (Bot > "Settings" tab > General Information > Application ID > "COPY") - Link gives a permission
Administrator
(all permissions)- If using different permissions, bot requires at least roles...
- Manage Roles
- Read Messages/View Channels
- Send Messages
- Manage Messages
- Use External Emojis
- If using different permissions, bot requires at least roles...
Docker image- Update Discord.js to newer version