The official server management bot for the Discord server The Pokehub written in Python using the discord.py wrapper.
Rotom Bot offers an in-house tournament registration system for Pokemon Showdown-based tournaments which is connected to the Showdown API for verification of users and battle replays.
Registering for a tournament in the registration channel <@member> <Showdown ID>
Displaying a list of tournament participants .participants
Announcement of battle replay results dynamically
The server hosts Pokemon league-style tournaments/events annually in which most, if not all components of the tournament are handled by Rotom Bot itself.
Display registered pool of challenger .pl <gen> or elite .epl <gen>
Display profile of normal participant (challenger, gym leader, elite) .p <gen>
Display profile of current champion .champion
Rotom Bot offers a role management system for "Villain Teams" based on the main Pokemon games. Members can freely join teams via Rotom Bot commands to access secret team chats with a 24-hour limit.
Select a desired team from the given choices .jt
Directly join a team .jt <Team>
Leave your current team .jt None
Bot restricts members from switching teams if they have just switched teams recently within 24 hours
Messages sent in server is filtered through a profanity filter based on better_profanity to introduce a Discord Pokemon community suitable for all ages.
Disallowed messages are deleted by the bot immediately
Deleted messages are logged in a moderator channel
Rotom Bot offers a text translation feature, which comes in handy in case someone sent a non-English message in chat. Based on Googletrans with some slight modifications.
Text translation with auto-detect language .t <text to be translated>
Text translation with input-output languages defined .t <text to be translated> --<input lang> --<output lang>
Rotom Bot offers lookup of text on the Urban Dictionary via Urban Dictionary API on RapidAPI and English dictionaries via PyDictionary
Text lookup on Urban Dictionary .urban <text to be searched>
Text lookup on an English Dictionary .dict <text to be searched>
Rotom Bot offers snipe (recover the previous message deleted) and esnipe (recover the previous message edited) features which works for messages modified within the last 60 seconds. These features are mainly for some conversational fun in the server.
Snipe message .snipe
Edit snipe message .es
Rotom Bot offers a game section which includes a few message-based games. Nobody really plays them nowadays though :( , but they were an interesting learning experience for the dev.
Guess The Number .gg
Tic-Tac-Toe (implemented this one with a minimax algorithm) .ttt
Rock-Paper-Scissors .rps
Rotom Bot offers a multitude of other smaller features which are generally quite useful.
Discord avatar/profile picture of a server member or self .av <Member name>(optional)
Pokedex entry of a pokemon .dex <Pokemon name>
Competitive pokemon sets fetched from Smogon sets <Pokemon name>
Pokemon weakness based on typing .weak <Pokemon name>
Learnset of Pokemon (all moves that can be learned) .learnset <Pokemon name>