Commit hash: b4429511d3186714944f500a3d12a1449dbde304
Red v3.1.5
Consider anything prefaced with “You might want” to be optional
General
-Your repo info.json is missing some keys, so [p]repo list
and [p]repo info
do not include a description of your repo.
-Your cog class names are not what I expect them to be, making it harder to get help for the entire cog (Invite instead of EmbedInvite, ARKCog instead of Ark or ARK).
-You might want to pass two strings instead of using a string with “and” in your cog info.json author fields.
Ark
-The website in [p]help ark
is outdated or does not work without an account.
-I’m not sure why you have "".join(query)
in line 63, since query
should already be a string.
-There is both a file __author__
and a class __author__
.
-Very specific inputs can cause the command to error. [p]ark &$format=
errors with:
Exception in command 'ark'
Traceback (most recent call last):
File "<datapath>\cogs\CogManager\cogs\ark\ark.py", line 71, in ark
cpu_data = await self.do_lookup(query)
File "<datapath>\cogs\CogManager\cogs\ark\ark.py", line 33, in do_lookup
data = await r.json()
File "path\to\venv\lib\site-packages\aiohttp\client_reqrep.py", line 1027, in json
headers=self.headers)
aiohttp.client_exceptions.ContentTypeError: 0, message='Attempt to decode JSON with unexpected mimetype: text/html'
EmbedInvite
-The message [p]invite
says when a support server is not set has poor grammar (“Owner needs to set support server !”).
-The help text of [p]invitesettings description
has poor grammar (“Set to None if you don’t want description.”).
-You might want to add an alias for [p]invitesettings colour
of color
.
-You might want to add an option to [p]invitesettings colour
to use the bot’s color.
-[p]invitesettings support
defaults to True, however there is not a support server set by default. This means that [p]invite
will not work until either [p]invitesettings support
is set to False or [p]invitesettings supportserv
is set.
-The syntax for [p]invitesettings support
is confusing, the param is called toggle
yet it sets the value directly. It also defaults to True, possibly making it unclear how to set it to False if the user does not do [p]help invitesettings support
.
-The help text for [p]invitesettings description
says the default description is “Thanks for choosing to invite {botname} to your server”, however attempting to use {botname}
in the description does not replace it with the bot name.
-You might want to check that the value passed to [p]invitesettings setpermissions
is within the range of values accepted by discord (or at least that it is not negative).
-The global var method of adding the old invite command does not appear to work. You can pass the old invite to the class (the same way you pass bot
) instead.
-The help text of [p]inviteset description
and [p]invitesettings setpermissions
do not say that passing no value resets them to the default.
-The help text of [p]invitesettings setpermissions
does not say that passing None
disables the permissions value.
-You might want to just use the value of toggle
in [p]invitesettings support
rather than testing the value.
ImperialToolkit
-The description field of the cog’s info.json is the description field for EmbedInvite.
-[p]botstat
throws an error for me (so I can’t exactly test it):
Exception in command 'botstat'
File "<datapath>\cogs\CogManager\cogs\imperialtoolkit\imperialtoolkit.py", line 101, in botstat
cpu = cpuinfo.get_cpu_info()["brand"]
KeyError: 'brand'
Pottermore
-You should not be printing things to console. If you need to post things to console (in prod), use the bot’s logging.
-You might want to use the user’s id and random.seed for [p]housesort
.
-Very specific inputs can cause the command [p]charactersearch
to error. [p]charactersearch &%format=
errors with:
Exception in command 'charactersearch'
File "<datapath>\cogs\CogManager\cogs\pottermore\pottermore.py", line 116, in charactersearch
pottermore_data = await self.do_lookup(query)
File "<datapath\cogs\CogManager\cogs\pottermore\pottermore.py", line 99, in do_lookup
print(data[0])
KeyError: 0
Space
-[p]astronauts
should not have a hardcoded length.
-[p]apod
throws an error when the bot does not have send_embeds
permission:
Exception in command 'apod'
Traceback (most recent call last):
File "<datapath>\cogs\CogManager\cogs\space\space.py", line 68, in apod
await ctx.send(embed=embed)
discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions
-[p]astronauts
throws an error when the bot does not have send_embeds
permission:
Exception in command 'astronauts'
Traceback (most recent call last):
File "<datapath>\cogs\CogManager\cogs\space\space.py", line 163, in astronauts
await ctx.send(embed=embed)
discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions
-[p]isslocation
throws an error when the bot does not have send_embeds
permission:
Exception in command 'isslocation'
Traceback (most recent call last):
File "<datapath>\cogs\CogManager\cogs\space\space.py", line 143, in isslocation
await ctx.send(embed=embed)
discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions
-[p]spacepic
throws an error when the bot does not have send_embeds
permission:
Exception in command 'spacepic'
Traceback (most recent call last):
File "<datapath>\cogs\CogManager\cogs\space\space.py", line 123, in spacepic
return await menu(ctx, pages, DEFAULT_CONTROLS)
discord.errors.Forbidden: 403 FORBIDDEN (error code: 50013): Missing Permissions
-Running [p]spacepic cow
throws an error:
Exception in command 'spacepic'
Traceback (most recent call last):
File "<datapath>\cogs\CogManager\cogs\space\space.py", line 104, in spacepic
space_data = await self.do_lookup(query)
File "<datapath>\cogs\CogManager\cogs\space\space.py", line 83, in do_lookup
space_data.append(data.get("collection")["items"][x]["links"][0]["href"])
IndexError: list index out of range
TrackerInfo
-You might want to make a function for all of the repeated code.