Delete old group message when changing output channel.
build_develop / build (push) Successful in 29s
build_develop / build (push) Successful in 29s
This commit is contained in:
@@ -251,6 +251,10 @@ class SetCog(commands.Cog, name="Set command."):
|
||||
channel (nextcord.abc.GuildChannel, optional): Channel to register.
|
||||
Is a SlashOption. Limited to text channels, Defaults to None.
|
||||
"""
|
||||
if interaction.guild is None or interaction.channel is None:
|
||||
agon_logger.warning("Set command was called with an interaction that had no guild or channel.")
|
||||
return
|
||||
|
||||
channel_id = interaction.channel.id if not channel else channel.id
|
||||
|
||||
with Session(engine) as session:
|
||||
@@ -262,11 +266,14 @@ class SetCog(commands.Cog, name="Set command."):
|
||||
if (group := session.scalar(stmt)) is None:
|
||||
await interaction.response.send_message("Group or Category was not found.", ephemeral=True)
|
||||
return
|
||||
old_channel_id = group.channel_id
|
||||
group.channel_id = channel_id
|
||||
session.commit()
|
||||
# TODO(imcompiling): delete the message and call send_highscore_message to send a new one. Bug needs fixed
|
||||
# first.
|
||||
# 082
|
||||
|
||||
old_channel = interaction.guild.get_channel(old_channel_id)
|
||||
if old_channel and isinstance(old_channel, nextcord.TextChannel | nextcord.Thread) and group.message_id:
|
||||
await old_channel.get_partial_message(group.message_id).delete()
|
||||
|
||||
await interaction.send(f"Registered <#{channel_id}>.", ephemeral=True)
|
||||
|
||||
@group.subcommand(
|
||||
|
||||
Reference in New Issue
Block a user