Discord Name: spidey.simp
GitHub Repository (Must be V3): https://github.com/spidey-simp/spideysimp-cogs
Description: So far, I only have one cog, but I am planning to create so many more in the future! Thank you for the opportunity to upload them!
Discord Name: spidey.simp
GitHub Repository (Must be V3): https://github.com/spidey-simp/spideysimp-cogs
Description: So far, I only have one cog, but I am planning to create so many more in the future! Thank you for the opportunity to upload them!
Thank you for your patience. Due to the current backlog of CC applications and the number of cogs in your repo, I am only going to review a small subset of the cogs in this repo for an initial review. Please make the required changes to the reviewed cogs, and review the remaining cogs for similar issues. This will hopefully allow an expedited review of the remaining cogs, and will be good practice for maintaining best practices in any future cogs you develop. You may also want to review the approved CC requirements while you apply your changes to ensure all your cogs meet all of the requirements.
Please let me know when you have applied the requested changes. I may or may not continue reviewing the remaining cogs prior to that point, but I will need to know when to re-review the cogs from this review either way.
Commit hash: e2ed6a4b305334f8aa91a3d5d988df44b98cb31b
Red v3.5.24
Consider only bullets prefixed with
to be required.
The following cogs have not yet been reviewed: civvirandom, corporations, dictionary, fandomsearch, hoi4random, identitytheft, languify, madlibs, nolinksinnames, smashorpass, spideycasino, spideycourts, spideyeconomy, spideylifesim, spideygov, spideyrandom, spideyresponds, spideyromance, spideyrpg, spideyservertools, spideystocks, spideyutils, thirtyyearswarrp, treasury, whoami, worldofapis
install_msg info.json field to make them render a little nicer.info.json file is missing the description field.ctx.prefix in commands [p] is stated to give example commands with the contextually relevant prefix.readme file that contains
hidden in their info.json or move them to a separate repo from the one you are seeking approval for.info.json file, which defines various metadata that helps the Red Index and downloader cog explain what your cog does.
aiosqlite in its requirements info.json field, so the bot does not automatically install the dependency. This causes an error if the user does not already have the dependency.hidden in its info.json?wordfreq or nltk in its requirements info.json field, so the bot does not automatically install the dependency. This causes an error if the user does not already have the dependency.embed_links permissions in the channel:Traceback (most recent call last):
File "datapath\cogs\CogManager\cogs\spideygames\spideygames.py", line 1838, in uno_create
message = await ctx.send(embed=game.status_embed(), view=UnoLobbyView(self))
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
spideygameset command if there are currently no settings to configure.info.json file, which defines various metadata that helps the Red Index and downloader cog explain what your cog does.adjustapolicy, nationstatus, setideology, and startpolicytest commands are missing docstrings (despite having the description field of the command decorator), which define the help text for the text version of your commands.[p]nationstatus command errors because the output is too long:Traceback (most recent call last):
File "datapath\cogs\CogManager\cogs\spideynations\spideynations.py", line 319, in nationstatus
await ctx.send(status)
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In content: Must be 2000 or fewer in length.
[p]adjustapolicy references a command setinitialpolicy that does not exist, and can’t do anything on its own./ prefix. This could be OK if the slash version of the commands are enabled and synced, but might be somewhat confusing if that is not the case.
ctx.interaction is not None to know if the invocation of a hybrid command was done using a slash command.hidden in its info.json?nations.json file should not be stored in a relative path (which depends on how the bot was started), and should be stored within cog_data_path instead.
Config.info.json file, which defines various metadata that helps the Red Index and downloader cog explain what your cog does.
info.json properly explains this, that is fine, however I’m not sure if this is a generally applicable cog. You may want to mark it as hidden in your info.json so it does not get listed on the Red Index.short and description info.json fields should spell out the entire game name instead of assuming the acronym will be commonly knownThank you for making the requested changes. I have reviewed the remaining cogs, and have one more set of required changes. Once these changes are addressed, your repo should be ready to go!
Commit hash: 644cfbe5c3f26c4920c000b077e03067e0fbf984
Red v3.5.24
Consider only bullets prefixed with
to be required.
N/A
Dictionary lookup took too long.. Is the API you are using still valid?cog_data_path folder.
install_msg instruction to run [p]help Hoi4Random does not work, as there are no text commands. Your install_msg should instruct users that the cog uses slash commands./hoi4random index raises an error as the message is too long:Traceback (most recent call last):
File "datapath\cogs\CogManager\cogs\hoi4random\hoi4random.py", line 37, in index
await interaction.response.send_message(f"```The full HOI 4 Leader list is:\n- {indexseparator.join(COUNTRYLIST.keys())}```")
discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In data.content: Must be 2000 or fewer in length.
await ctx.send_help() in the body of your group command (without invoke_without_command=True), help is sent when any subcommand is successfully invoked. This is because the group command is executed first in addition to subcommands in this configuration. You can either remove the body of the group command and replace it with pass (and Red will properly send help if no subcommand is passed) or add invoke_without_command=True (and explicitly define the behavior when just the group command is executed).@checks.admin() on the group command, non-admin users cannot use the subcommand [p]identitytheft blacklist to opt-out of the cog, as that command inherits permissions from its parent.
checks module is technically deprecated, and @commands.admin() should be used instead.user setting, not a list within the guild settings. That way a user only needs to opt out one time, and it is tracked across any number of servers the bot is in.administrator permission when it is applied bot-wide.cog_data_path folder.
[p]guildlinkcheck just in case the list exceeds 2000 characters.N/A
N/A
install_msg instruction to run [p]help WhoAmI does not work, as there are no text commands. Your install_msg should instruct users that the cog uses slash commands.cog_data_path folder.
animals also uses this API under the name thecatapi with the key name api_key, if you also use this formatting the two cogs can share the same key input.[p]wtrivia raises an error if the bot does not have embed_links permissions:Traceback (most recent call last):
File "datapath\cogs\CogManager\cogs\worldofapis\worldofapis.py", line 546, in trivia
await ctx.send(embed=embed)
discord.errors.Forbidden: 403 Forbidden (error code: 50013): Missing Permissions
/woa insult always seems to raise an error, the API you are using likely changed in some way:Traceback (most recent call last):
File "datapath\cogs\CogManager\cogs\worldofapis\worldofapis.py", line 705, in insult
data = await resp.json()
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: text/html', url=URL('...')
channel.nsfw to determine if a channels is an NSFW channel.