Discord Bot API
This is a plugin based, self-hosted and configurable Discord bot. You can use plugins to play music, do a raffle or other things. You can even create your own ones!
Need help?
Join my Discord server: https://discord.gg/0jV29zKlvdJbDx3f
Installation
- Install Docker and make sure it's available in your PATH variable
- Download the latest version of the bot here: https://github.com/simonknittel/discord-bot-api/archive/master.zip
- Extract the download
- Duplicate the config-sample.cson and rename it to
config.cson
- Edit the new
config.cson
to your needs- Visit the full documentation for more information
- Invite the bot to your server https://finitereality.github.io/permissions/?v=103926784
- Open a terminal in that extracted directory
- Run
docker build -t my-bot .
to build the Docker image - Run
docker run my-bot
to start it (rundocker run -d my-bot
to run it in the background)
Enable a plugin
- Add the name of the plugin to the
plugins
array of theconfig.cson
(see config.cson explained for an example)
Update your bot
The bot will notify the owner if there is a new release available. It will check the version on the start and every 60 minutes after that.
- Download the latest release here: https://github.com/simonknittel/discord-bot-api/archive/master.zip
- Do the same steps as listed under Installation but keep your old
config.cson
- Make sure to read the changelog for possible changes of the configuration
Develop your own plugin
Visit the full documentation
Available plugins
Contact me to get your plugins listed here.
- Music
- Visit the README.md of the plugin for the commands, install instructions and more.
- Dice
- Visit the dice.js of the plugin for the commands, install instructions and more.
General commands
!commands
- Shows all available commands- Synonyms:
!help
- Synonyms:
!about
- Shows a short description of the bot!kill
- Stops the bot- Synonyms:
!stop
- Synonyms:
!me
- Shows the ID of the user- Synonyms:
!userid
- Synonyms:
!enable <plugin>
- Enables a plugin- Example:
!enable dice
- Example:
!op <user id or mention> <permission>
- Gives an user a permission!deop <user id or mention> <permission>
- Removes a permission from an user!prefix <new prefix>
- Changes the global command prefix- Example:
!prefix $
- Example:
!owner <user id or mention>
- Changes the owner of the bot!rename <new name>
- Renames the bot!reload
- Reloads the config- Synonyms:
!refresh
- Synonyms:
!avatar <url or relative path>
- Gives the bot an avatar- Setting it to
null
will remove the avatar.
- Setting it to
Planned features
Visit https://github.com/simonknittel/discord-bot-api/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement
Thanks
Thanks to everyone who reports me bugs, gives me feedback or tries to figure out the cause of an issues. Without them the Discord Bot API wouldn't be so awesome.
License
Copyright (C) 2017 Simon Knittel (hallo@simonknittel.de)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.