InteractionTimedOut: Interaction took more than 3 seconds to be responded to
Я пишу слеш команду, которая должна давать временно роль человеку. Но я столкнулся с такой проблемой что роль выдается и забирается, а Embed не присылается + выдается такая ошибка
disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: InteractionTimedOut: Interaction took more than 3 seconds to be responded to. Please defer it using "interaction.response.defer" on the start of your command. Later you may send a response by editing the deferred message using "interaction.edit_original_response"
Note: This might also be caused by a misconfiguration in the components make sure you do not respond twice in case this is a component.
а вот и сам код бана
@commands.slash_command()
@commands.has_any_role(1206649047394418765)
async def ban(self, interaction, member: disnake.Member, time: str, *, reason="Нарушения свод правил"):
ban_role = disnake.utils.get(interaction.guild.roles, name="Ban")
await member.add_roles(ban_role, reason=reason)
timedata = {"c": 1, "d": 86_400, "m": 2_592_000}
timeban = int(time[:-1]) * timedata[time[-1]]
timenow = int(datetime.now().timestamp())
timeend = timenow + timeban
await asyncio.sleep(timeban)
await member.remove_roles(ban_role, reason="Истек срок Бана")
embed = disnake.Embed(
description=f"{member.mention} получил бан",
color=0x00ff00
)
embed.add_field(name="Модератор:", value=interaction.author, inline=False)
embed.add_field(name="Дата начала:", value=f"<t:{timenow}:f>")
embed.add_field(name="Дата конца:", value=f"<t:{timeend}:f>")
embed.add_field(name="Причина", value=reason)
embed.add_field(name=f"Запросил {interaction.author}", value=interaction.author.display_avatar)
await interaction.send(embed=embed)
я не понимаю в чем проблема поэтому решил спросить у знающих людей