Install Dependencies through pip
via command line
pip install -r requirements.txt
- Allows users to attack bosses 'stored' in Discord channels
- Serializes all data to
json
and can export all data in sortedcsv
file - Admins can fix different user errors with
admin
commands - Integrated with descriptive slash commands
Click here to read the Documentation on how to use the bot commands and read their usages. Visual Infographic for a visual demonstration of the command's usecases.
admin_hit
admin_kill
admin_revive
admin_undo
create_boss
delete_boss
insert_boss
load_json
send_backup_csv
send_csv
bot.py
tkn.txt
guild_id.txt
Note that tkn.txt
and guild_id.txt
are not included in the repo -- you will need to create them yourself.
- Put the Discord token of your bot in
tkn.txt
on the first line. - Put the guild/server ID of the server your bot will reside in, in
guild_id.txt
on the first line.
In bot.py
you will need to change:
valid_channels
(optional) -> Names of channels bosses can be created inguilds
-> Change to any sister guilds (not servers) that can use the botping_roles
-> IDs of roles to be pinged when bosses are killedsweeper_roles
andsweeper_requirements
-> IDs of roles and requirements for each guildsplit_threshold
-> How many hits users are 'allowed' per boss level to encourage splittingsplit_exempt
-> Any guilds you'd like to be exempt from splitting hits
This project has taught me a LOT. From how the Discord API works, to managing every single edge case I could think of: I see this as the most valuable project I've taken on.
I feel much more confident when reading documentation and formulating ways to ask the right questions in order to progress through hurdles.
I've also learned a lot about how async functions work, and how API calls are handled. Switching from using normal commands to app commands (slash commands) has been extremely useful with regards to learning how a lot of Discord functions work internally.
Additionally, I've learned a lot about different packages that Python has to offer. For example, serializing and deserializing data to json via the attrs/cattrs packages has been an invaluable experience! I have almost 10 dependencies in this project, so learning about different ways to accomplish my goals through these packages has been a great experience.
Finally, I feel like this project has been a great project to refine my Python and overall programming skills! I've made some projects in Python before, but this one was on a whole new level. In general, I've had to branch out and learn multiple new programming concepts on my own through this project. From data serialization, to asynchronous functions, to some DSA, to blocking code: this project tested me in every way.
- discord.py Discord Server
- Alex Zades -- helped with cattrs
- VanLyden/Lama -- all the art for the bot was kindly done by her!
- Juzu -- the visual documentation/guide was generously made by her!