Skip to content
Jace Manshadi edited this page May 5, 2024 · 26 revisions

Just a note, the documentation on this wiki is not necessarily exhaustive as that would lead to a duplication of documentation as there is plenty of documentation in the code itself. However, the documentation in the code is written for the target user of someone with some familiarity with discord.py and wall_e. This documentation exists to allow someone with little to no experience coding within discord.py to be better able to under the documentation in the code. To bridge the gap between a newbie and someone with reasonable experience with discord.py and wall_e development

Table of Contents

Discord.py Features and Functionalities

  • synchronizing to discord bot slash command tree
  • How Help Messages are deleted
  • How autocomplete functions work
  • Slash Commands vs Text Commands
  • Why no testing guild?

wall_e Features and Functionalities

Misc Functionalities

  • Bot Channel Manager

Logging and Error Handling

  • How logging is setup
  • How log files contents are uploaded to the discord log channels
  • Clearing the _warn and _error channels
  • How the error handler works
    • How github issues are created when errors are encountered
  • config/environment variables

discord.py helper commands/classes

  • How/why embed creation is standardized
  • Pagination
  • Send helper function that can be used to send messages that contain contents too big for 1 message
  • How/why there is a custom Bot class implemented

Commands

  • Command Stats
    • Collecting stats
    • Generate graphs
  • Dev Tools for Local Guild
    • Deleting Log Channels
    • Purge Messages in Channel
  • How the loaded extensions are retrieved from the autocomplete function
  • load/unload/reload messages
  • announce command
  • Loading the ban list
  • Ensuring returning banned members are kicked
  • Converting a discord ban to wall_e ban
  • Clearing messages from banned user
  • How the banned users are loaded from the autocomplete function
  • commmands: ban, unban, bans, convertban, purgebans
  • Inserting PROD levels and user points to database and cache
  • Listener to every message to increase user points
  • Listener to re-assign Leveling roles to users who re-join
  • Recurring Tasks
    • Ensure each level with a name has the right users
    • Check to see if the saved user name, nickname and avatar need to be updated for the leader-board website
    • Check to see if https://github.com/CSSS/wall_e_member_update_listener has marked any users as needing an update
  • Regular polling to see if time has come to surface a reminder
  • Regular polling to update role cache if change detected to roles
  • How assignable roles are loaded for the auto-complete function
  • How assigned roles are loaded for the auto-complete function
  • How empty roles are loaded for the auto-complete function
  • How non-empty roles are loaded for the auto-complete function
  • How the commands are limited to just the #bot-commands-and-misc
Clone this wiki locally