All-In-Bot for Discord
A simple and modular Discord bot with various random functionalities.
How to use the bot?
Simple! Just invite the bot to your server using this link, and you are good to go!
Development
I'm doing this project for fun. The bot is developed in a way, that each feature has their own module. New models can be added by everyone. I'm happy about all contributions to this project. Especially about feature ideas!
Arguments
optional arguments:
-h, --help show this help message and exit
-e [EXCLUDE_FEATURES ...], --exclude-features [EXCLUDE_FEATURES ...]
Use this to exclude one or more features when starting the bot.
Adding a feature
Just copy the Template.py file and use it as a template for your feature. Be sure to give it a unique name, and you're good to go.
Current Features implemented
- Fun (Just some Ping Pong)
- Math (Not nice, TODO: Replace with single command that detects and parses a regex)
- Memes (Crawls random meme from given subreddit. Default is dankmemes. No NSFW!)
- R6Stats (Crawl stats für Rainbow Six: Siege using StatsDB API) --> Needs API username and key in .env file
- Alone (Detects and exposes when and how long a user was alone in a voice channel)
Feature Ideas
- Translation from any language into another
- Improve help command
- ...
Permissions
Currently, the bot uses the following permissions (Permission Integer: 274878154752):
- Send Messages
- Send Messages in Threads
- Embed Links
- Attach Files
- Read Message History
- Mention Everyone
If your feature needs further permissions, please contact me directly or open up an issue.
Deployment
If you want to run the bot on your own server, you can do that as well. Remember to install the requirements. Also, feel free to use the minimalistic Dockerfile and docker-compose.yml files. Note that the docker files will assume your project's location in your home directory. If you have trouble with Docker, don't ask me, I'm a noob myself xD
Additionally, you'll need to create a Discord developer account: https://discord.com/developers The token needs to be added as TOKEN into a .env file, which you'll need to create yourself. I'm not gonna leak my stuff here ;)
TODO
- Setup logging
- Provide CLI options, e.g., to exclude features (DONE) and ...?
- Add docs for Storage class
Logo: