[Mod] Fixed loud RuntimeError on modlog cases (#2331)

This commit is contained in:
Kowlin 2018-12-16 00:26:48 +01:00 committed by Toby Harradine
parent 351749dff6
commit 38b15ded87
2 changed files with 10 additions and 8 deletions

View File

@ -1570,8 +1570,9 @@ class Mod(commands.Cog):
""" """
An event for modlog case creation An event for modlog case creation
""" """
try:
mod_channel = await modlog.get_modlog_channel(case.guild) mod_channel = await modlog.get_modlog_channel(case.guild)
if mod_channel is None: except RuntimeError:
return return
use_embeds = await case.bot.embed_requested(mod_channel, case.guild.me) use_embeds = await case.bot.embed_requested(mod_channel, case.guild.me)
case_content = await case.message_content(use_embeds) case_content = await case.message_content(use_embeds)

View File

@ -666,29 +666,30 @@ async def register_casetypes(new_types: List[dict]) -> List[CaseType]:
return type_list return type_list
async def get_modlog_channel(guild: discord.Guild) -> Union[discord.TextChannel, None]: async def get_modlog_channel(guild: discord.Guild) -> discord.TextChannel:
""" """
Get the current modlog channel Get the current modlog channel.
Parameters Parameters
---------- ----------
guild: `discord.Guild` guild: `discord.Guild`
The guild to get the modlog channel for The guild to get the modlog channel for.
Returns Returns
------- -------
`discord.TextChannel` or `None` `discord.TextChannel`
The channel object representing the modlog channel The channel object representing the modlog channel.
Raises Raises
------ ------
RuntimeError RuntimeError
If the modlog channel is not found If the modlog channel is not found.
""" """
if hasattr(guild, "get_channel"): if hasattr(guild, "get_channel"):
channel = guild.get_channel(await _conf.guild(guild).mod_log()) channel = guild.get_channel(await _conf.guild(guild).mod_log())
else: else:
# For unit tests only
channel = await _conf.guild(guild).mod_log() channel = await _conf.guild(guild).mod_log()
if channel is None: if channel is None:
raise RuntimeError("Failed to get the mod log channel!") raise RuntimeError("Failed to get the mod log channel!")