feat(forums): fleshed out the resolved buttons
Some checks reported warnings
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
Some checks reported warnings
Gitea Actions Demo / Explore-Gitea-Actions (push) Has been cancelled
This commit is contained in:
parent
96ced7982e
commit
4709af1146
1 changed files with 26 additions and 6 deletions
|
@ -40,17 +40,37 @@ class Forums(commands.Cog):
|
|||
self.ctx: commands.Context = passed_info['ctx']
|
||||
self.match: bool = passed_info['match']
|
||||
self.msg: discord.Message = passed_info['msg']
|
||||
if passed_info['reason']:
|
||||
if 'reason' in passed_info:
|
||||
self.reason: str = passed_info['reason']
|
||||
self.config = Config.get_conf(None, cog_name='Forums', identifier=2352711325)
|
||||
|
||||
@ui.button(label="Yes", style=discord.ButtonStyle.success, emoji="✅")
|
||||
async def resolved_button_yes(self, button: ui.Button, interaction: discord.Interaction):
|
||||
match = any(role_id in interaction.user.roles for role_id in await self.config.guild(interaction.guild).request_roles())
|
||||
if match or interaction.user.id == interaction.channel.owner_id:
|
||||
channel = self.ctx.channel
|
||||
await interaction.response.defer()
|
||||
await channel.edit(locked=True, archived=True, applied_tags=channel.applied_tags + await self.config.guild(channel.guild).forum_tag())
|
||||
await self.msg.delete()
|
||||
if self.reason:
|
||||
response_reason = f"Thread closed by {interaction.user.mention} with reason: {self.reason}"
|
||||
reason = f"Thread closed by {interaction.user.name} ({interaction.user.id}) with reason: {self.reason}"
|
||||
else:
|
||||
response_reason = f"Thread closed by {interaction.user.mention}"
|
||||
reason = f"Thread closed by {interaction.user.name} ({interaction.user.id})"
|
||||
await channel.edit(locked=True, archived=True, applied_tags=channel.applied_tags + await self.config.guild(channel.guild).forum_tag(), reason=reason)
|
||||
await self.msg.edit(content=response_reason, view=None)
|
||||
await self.ctx.message.add_reaction("✅")
|
||||
else:
|
||||
await interaction.response.send_message(content="You cannot close this thread!", ephemeral=True)
|
||||
|
||||
@ui.button(label="No", style=discord.ButtonStyle.success, emoji="❌")
|
||||
async def resolved_button_no(self, button: ui.Button, interaction: discord.Interaction):
|
||||
match = any(role_id in interaction.user.roles for role_id in await self.config.guild(interaction.guild).request_roles())
|
||||
if match or interaction.user.id == interaction.channel.owner_id:
|
||||
await interaction.response.defer()
|
||||
await self.msg.delete()
|
||||
await self.ctx.message.delete()
|
||||
else:
|
||||
await interaction.response.send_message(content="You cannot close this thread!", ephemeral=True)
|
||||
|
||||
@commands.group(name='forumconfig', invoke_without_command=True, aliases=['forumsset'])
|
||||
@commands.guild_only()
|
||||
|
|
Loading…
Reference in a new issue