LIREN
@LIREN
Пунктумофоб

Как добавить реакции и как сделать проверку на нажатие?


Как добавить реакции и как сделать проверку на нажатие?

Я вообще не понимаю как, у всех гайдов по разному.
Я хочу сделать страницы но не вдупляю как!
@commands.command(aliases = ["магазин"])
	async def shop(self, ctx, arg = None):
		PROFESSION = ""
		BUSINNES = ""
		APARTMENTS = ""
		FURNITURE = ""

		valid_reactions = ["", "", "", ""]

		# Если аргумент не введён
		if arg == None:
			embed = discord.Embed(
				title = "Магазин ролей.",
				description = 
					f"""
					**Страницы магазина:**
					─  ────────────  ─
					- Профессии | ",
					- Бизнесы | ",
					- Квартиры | ",
					- Мебель | ".""",
				colour = 0xFBFF00
			)
			msg = await ctx.send(embed = embed)
			await msg.add_reation(PROFESSION)
			await msg.add_reation(BUSINNES)
			await msg.add_reation(APARTMENTS)
			await msg.add_reation(FURNITURE)
			await msg.edit(embed = embed)

			def check(reaction, user):
				return user == ctx.author and str(reaction.emoji) in valid_reactions
			reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=check)

			if str(reaction.emoji) == PROFESSION:
				embed_2 = discord.Embed(
					title = 
						f"""
						**Магазин ролей**
						 Профессии""",
					colour = discord.Color.green()
				)
				for item in mainshop_professions:
					name = item["name"]
					price = item["price"]
					desc = item["description"]
				embed_2.add_field(
					name = name, 
					value = 
						f"""
						- **Стоимость**: **{price}** 
						- **Описание**: {desc}"""
				)
				await msg.edit(embed = embed_2)
...


Ещё чтобы предыдущий голос был убран(
Не судите строго пожалуйста
  • Вопрос задан
  • 294 просмотра
Решения вопроса 1
fenrir1121
@fenrir1121
Начни с документации
Как добавить реакции

emoji = <>  # вставить свой emoji
await message.add_reaction(emoji)


как сделать проверку на нажатие?

Срабатывают ивенты on_reaction_add или on_reaction_remove, там свою логику описывайте

Я вообще не понимаю как, у всех гайдов по разному.

Потому что в разных библиотеках реализации могут отличаться. Смотрите официальные примеры под нужную вам библиотеку, все всегда есть в документации.

Я хочу сделать страницы но не вдупляю как!

В новых версиях 2.0.X за это отвечает ui components. Пример реализации, например под discord.py есть в репозитории
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы