[REJECTED] Mahjestic Cogs

Discord Name: Mahjestic#0001

GitHub Repository (Must be V3): https://github.com/ismaeelakram/Mahjestic-Cogs

Description: At the time of this post, I have three quality, useful cogs. I am using them in my own server and are used in a few others. The cogs that are ready for people to use and available are: Among Us Lobby, Tweet, and Personal Voice. There are descriptions in the README.

1 Like

Howdy! Sorry for the delay in reviewing your application. We at QA have been working on finalizing some documentation outlining exactly how these applications are reviewed. Since this application was made before the documentation was live, I am letting you know so you can double check that your repo meets these new requirements. We hope this transparency will help you to better prepare your repo for review.

Hi Mahjestic, thank you for your patience while I review your repo.

Commit hash at time of review - f0140c6aef2b5bef069cb59f76db058d05876541

amonguslobby

amonguslobby.py

  • Line 16: It’s very likely this will error if the user who joined the voice channel has DM’s disabled from the server. I would recommend catching that error here and potentially setting a channel in the server to mention the user and let them know to get around that limitation. (Optional)

__init__.py

  • Missing __red_end_user_data_statement__ which is required to be fully compliant with end user data declaration. (Optional)

modmail

info.json

install_msg is missing from info.json. This should explain that it creates a communication “thread” when DMing the bot.

modmail.py

  • Line 15: You should not have hard-coded guild ID’s for a cog since this cog will only work for you and anyone else trying to use this cog will not be able to get it to work. Alongside this creating a “thread” for every DM the bot receives can be difficult to manage since a user may share multiple servers with the bot and determining which server to actually send to is going to be challenging with the current setup.

__init__.py

  • Missing __red_end_user_data_statement__ which is required to be fully compliant with end user data declaration. (Optional)

personalvoice

info.json

install_msg is missing from info.json. THis should explain that the cog creates/deletes voice channels based on joining a voice channel.

personalvoice.py

  • There should be some control within this cog to prevent abuse. As it stands right now a user can endlessly join and leave the channel constantly creating/deleting giving end users the ability to rate limit the bot and potentially get your bot or anyone using this cog banned from discord. I would recommend either limiting to a specific role set in the cog or building some timeouts to prevent a user from continuously creating/deleting the channels.

__init__.py

  • Missing __red_end_user_data_statement__ which is required to be fully compliant with end user data declaration. (Optional)

stealemoji

info.json

install_msg is missing from info.json. This should explain that it steals emojis a user uses and automatically adds it to the server.

stealemoji.py

  • This cog needs some control on what servers are opted into it. Right now it steals emojis someone with nitro uses in any server the bot is in and has no checks on the current emoji limit meaning once the server is at max it can constantly be throwing error messages.

__init__.py

  • Missing __red_end_user_data_statement__ which is required to be fully compliant with end user data declaration. (Optional)

tweet

info.json

install_msg is missing from info.json. This should include how to set the API credentials from twitter and explain that the cog sends tweets based on the content of messages sent in a designated channel.

tweet.py

  • Lines 15-21: This library is not async and therefore this function is blocking until the request is complete. You should look at using executor to make this work asynchronously.
  • Lines 59-84: There should be some further restrictions than just discord channel permissions to prevent unwanted users from sending tweets on the bot owners account or at the very least explaining to the users to be careful about the permissions on said channel.

__init__.py

  • Missing __red_end_user_data_statement__ which is required to be fully compliant with end user data declaration. (Optional)
1 Like

After discussing in discord I will be rejecting and closing this application. Feel free to re-apply after the listed issues have been addressed.