misc(issues): added original_interaction
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 5s
Some checks failed
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 5s
This commit is contained in:
parent
473e5c3165
commit
65e2c1d93c
1 changed files with 13 additions and 9 deletions
|
@ -16,45 +16,49 @@ class Issues(commands.Cog):
|
||||||
@app_commands.command()
|
@app_commands.command()
|
||||||
async def issuestest(self, interaction: discord.Interaction):
|
async def issuestest(self, interaction: discord.Interaction):
|
||||||
color = await self.bot.get_embed_color(None)
|
color = await self.bot.get_embed_color(None)
|
||||||
await interaction.response.send_message(content="Hello world!", view=self.IssueButtons(color, self), ephemeral=True)
|
await interaction.response.send_message(content="Hello world!", view=self.IssueButtons(color, self, interaction), ephemeral=True)
|
||||||
|
|
||||||
async def submit_issue_request(self, interaction: discord.Interaction, embed: discord.Embed):
|
async def submit_issue_request(self, interaction: discord.Interaction, original_interaction: discord.Interaction, embed: discord.Embed):
|
||||||
channel = self.bot.get_channel(self.config.request_channel())
|
channel = self.bot.get_channel(self.config.request_channel())
|
||||||
if channel is None:
|
if channel is None:
|
||||||
|
await original_interaction.edit_original_response(content="Command cancelled.", view=None)
|
||||||
await interaction.response.send_message(content=f"The cog is misconfigured, please report this error.", ephemeral=True)
|
await interaction.response.send_message(content=f"The cog is misconfigured, please report this error.", ephemeral=True)
|
||||||
try:
|
try:
|
||||||
await channel.send(embed=embed)
|
await channel.send(embed=embed)
|
||||||
await interaction.response.send_message(content=f"Issue request sent!", embed=embed, ephemeral=True)
|
await interaction.response.send_message(content=f"Issue request sent!", embed=embed, ephemeral=True)
|
||||||
except (discord.HTTPException, discord.Forbidden) as error:
|
except (discord.HTTPException, discord.Forbidden) as error:
|
||||||
|
await original_interaction.edit_original_response(content="Command cancelled.", view=None)
|
||||||
await interaction.response.send_message(content=f"The cog is misconfigured, please report this error.\n```{error}```", ephemeral=True)
|
await interaction.response.send_message(content=f"The cog is misconfigured, please report this error.\n```{error}```", ephemeral=True)
|
||||||
|
|
||||||
class IssueButtons(discord.ui.View):
|
class IssueButtons(discord.ui.View):
|
||||||
def __init__(self, color, cog_instance):
|
def __init__(self, color, cog_instance, original_interaction):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.color = color
|
self.color = color
|
||||||
self.cog_instance = cog_instance
|
self.cog_instance = cog_instance
|
||||||
|
self.original_interaction = original_interaction
|
||||||
|
|
||||||
@discord.ui.button(label="Bot Bug", style=discord.ButtonStyle.danger, row=0)
|
@discord.ui.button(label="Bot Bug", style=discord.ButtonStyle.danger, row=0)
|
||||||
async def issue_button_bot_bug(self, interaction: discord.Interaction, button: discord.ui.Button):
|
async def issue_button_bot_bug(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||||
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance))
|
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance, self.original_interaction))
|
||||||
|
|
||||||
@discord.ui.button(label="Cog Bug", style=discord.ButtonStyle.danger, row=1)
|
@discord.ui.button(label="Cog Bug", style=discord.ButtonStyle.danger, row=1)
|
||||||
async def issue_button_cog_bug(self, interaction: discord.Interaction, button: discord.ui.Button):
|
async def issue_button_cog_bug(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||||
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance))
|
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance, self.original_interaction))
|
||||||
|
|
||||||
@discord.ui.button(label="Bot Suggestion", style=discord.ButtonStyle.blurple, row=0)
|
@discord.ui.button(label="Bot Suggestion", style=discord.ButtonStyle.blurple, row=0)
|
||||||
async def issue_button_bot_suggestion(self, interaction: discord.Interaction, button: discord.ui.Button):
|
async def issue_button_bot_suggestion(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||||
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance))
|
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance, self.original_interaction))
|
||||||
|
|
||||||
@discord.ui.button(label="Cog Suggestion", style=discord.ButtonStyle.blurple, row=1)
|
@discord.ui.button(label="Cog Suggestion", style=discord.ButtonStyle.blurple, row=1)
|
||||||
async def issue_button_cog_suggestion(self, interaction: discord.Interaction, button: discord.ui.Button):
|
async def issue_button_cog_suggestion(self, interaction: discord.Interaction, button: discord.ui.Button):
|
||||||
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance))
|
await interaction.response.send_modal(Issues.BotBugModal(self.color, self.cog_instance, self.original_interaction))
|
||||||
|
|
||||||
class BotBugModal(discord.ui.Modal, title="Creating issue..."):
|
class BotBugModal(discord.ui.Modal, title="Creating issue..."):
|
||||||
def __init__(self, color, cog_instance):
|
def __init__(self, color, cog_instance, original_interaction):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.color = color
|
self.color = color
|
||||||
self.cog_instance = cog_instance
|
self.cog_instance = cog_instance
|
||||||
|
self.original_interaction = original_interaction
|
||||||
|
|
||||||
bug_description = discord.ui.TextInput(
|
bug_description = discord.ui.TextInput(
|
||||||
label="Describe the bug",
|
label="Describe the bug",
|
||||||
|
@ -97,4 +101,4 @@ class Issues(commands.Cog):
|
||||||
else:
|
else:
|
||||||
username = f"{interaction.user.name}#{interaction.user.discriminator}"
|
username = f"{interaction.user.name}#{interaction.user.discriminator}"
|
||||||
embed.set_footer(text=f"Submitted by {username} ({interaction.user.id})", icon_url=interaction.user.display_avatar.url)
|
embed.set_footer(text=f"Submitted by {username} ({interaction.user.id})", icon_url=interaction.user.display_avatar.url)
|
||||||
await self.cog_instance.submit_issue_request(interaction=interaction, embed=embed)
|
await self.cog_instance.submit_issue_request(interaction=interaction, original_interaction=self.original_interaction, embed=embed)
|
||||||
|
|
Loading…
Reference in a new issue