@Mr-Samuel
Занимаюсь ботами

Нажатие на кнопку у одного сообщения, влияет на несколько других. Как исправить?

Использую Discord.py
Пытаюсь разобраться в возможностях discord_components, а точнее в кнопках. У меня есть команда, которая вызывает embed с картинкой. По задумке, когда человек получает роль высылается этого рода сообщения. При нажатии на кнопку "Принять", удаляется основной embed с картинкой и высылается новый (с другой картинкой). Кнопка "Отклонить" делает тоже самое.

Однако если от бота отправлено несколько подобного рода сообщений, то кнопка у одного сообщения влияет сразу на все (Допустим, у нас есть сообщение A и B. У A и B есть кнопки "Принять" и "Отклонить", по идее они должны работать отдельно, но влияют друг на друга)

Использую коги

Ниже скриншоты и код:
@commands.command()
    async def passport(self, ctx):
		file = discord.File("user.png", filename="user.png")
		embed=discord.Embed(title="Welcome!", description="Welcome on this server!")
		embed.set_image(url="attachment://user.png")
		msg = await ctx.send(
					file = file,
					embed=embed,
					components = [
						[
							Button(style=ButtonStyle.green, label="Принять", emoji="✔️"),
							Button(style=ButtonStyle.red, label="Отклонить", emoji="✖️"),
						]
					]
				)

		response = await self.client.wait_for("button_click")
		if response.channel == ctx.channel:
			if response.component.label == "Принять":
				file = discord.File("user.png", filename="user.png")
				embed=discord.Embed(title="Welcome!", description="Welcome on this server!")
				embed.set_image(url="attachment://user.png")
				await msg.delete()
				await ctx.send(file = file, embed=embed)
			else:
				await msg.delete()
				embed=discord.Embed(title="Отказано", description=f"Возможному участнику {ctx.author.name} в предоставлении статуса 'Участник' отказано!", color=0xff0000)
				await ctx.send(embed=embed)


Как оно работает, если есть всего одно сообщение от бота:
62633e7066723692050725.png
62633ea33ec8c285121298.png
62633ed91f2d0497926428.png

Как оно работает, если есть более одного сообщения от бота:
62633f16acd3f262664938.png
62633f5555268736060121.png
62633f7202eeb936310794.png
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы