Вкратце
Есть код, который в данный момент после ввода слэш команды отправляет сообщение с кнопками в первый канал и embed сообщение с пустым списком во второй канал. Нужно чтобы по нажатию на кнопку "Внести в список", бот добавлял в список упоминание нажавшего на кнопку, а при нажатии "Вынести из списка" удалял из этого сообщения упоминание пользователя.
Сообщение, которое он сейчас отправляет
Что должно происходить после нажатия на кнопку "Добавить в список":
class Capture(disnake.ui.View):
def __init__(self):
super().__init__(timeout=None)
@disnake.ui.button(label="Внести в список", style=disnake.ButtonStyle.green, emoji="", custom_id="vnesti")
async def vnesti(self, button: disnake.ui.Button, inter: disnake.Interaction):
role = inter.guild.get_role(1253645876518322227)
if role in inter.author.roles:
await inter.send(embed=disnake.Embed(title="Ты внесён в список на капт:gun:"), delete_after=2, ephemeral=True)
await chnl.send(embed=disnake.Embed(
title="Внести в список",
color=0x4be000,
description=f"Внести в список{inter.author.mention}"
))
else:
self.stop
@disnake.ui.button(label="Вынести из списка", style=disnake.ButtonStyle.red, emoji="", custom_id="vinesti")
async def vinesti(self, button: disnake.ui.Button, inter: disnake.Interaction):
role = inter.guild.get_role(1253645876518322227)
chnl = inter.guild.get_channel(1254749380578250824)
if role in inter.author.roles:
await inter.send(embed=disnake.Embed(title="Хорошо, я тебя понял:cry:"), delete_after=2 ,ephemeral=True)
await chnl.send(embed=disnake.Embed(
title="Вынести из списка",
color=0x4be000,
description=f"Вынести из списка на капт{inter.author.mention}"
))
else:
self.stop
@commands.slash_command(name="капт")
async def capt(self, inter, enemy: str, time: str, place: str, time2: str):
view = Capture()
guild = self.bot.get_guild(inter.guild.id)
chnl = self.bot.get_channel(1254189727104368682)
chnl2 = self.bot.get_channel(1254749380578250824)
role = guild.get_role(1253645876518322227)
embed = disnake.Embed(title="Капт",
color=0x4be000,
description=f"Начало капта против {enemy} в {time}\nСтрой на {place} в {time2}\nНеявка = ОВС"
)
await chnl.send(embed=embed, view=view)
await chnl.send(f"{role.mention}")
await chnl2.send(embed=disnake.Embed(
title="Капт список",
color=0x4be000,
description="Список участников:"
)
)
await inter.send(embed=disnake.Embed(title="Готово✅"), delete_after=2, ephemeral=True)