我一直在寻找这个代码来开始工作:
...
message = await ctx.send(embed=embed)
await message.add_reaction(":arrow_left:")
await message.add_reaction(":arrow_right:")
async def on_reaction(reaction, user):
if user.reaction.emoji == ":arrow_left:":
await message.edit("Page left")
if user.reaction.emoji == ":arrow_right:":
await message.edit("Page right")
基本上,机器人会对它自己的嵌入消息做出反应。我想让它在点击机器人添加的反应时编辑嵌入。这就是我想使用临时“on_reaction”的地方,以使其仅适用于此嵌入消息。
你的真心
答案 0 :(得分:1)
您可以使用 DiscordUtils
并使用内置分页器。
这是一个简单的例子:
import DiscordUtils as DiscordUtils
embed1 = discord.Embed(color = ctx.author.color, title="Test") # Add anything you want to
embed2 = [...]
embed3 = [...]
paginator = DiscordUtils.Pagination.CustomEmbedPaginator(ctx, remove_reactions=True)
paginator.add_reaction('⏮️', "first")
paginator.add_reaction('⏪', "back")
paginator.add_reaction('⏩', "next")
paginator.add_reaction('⏭️', "last")
paginator.add_reaction('?', "lock")
embeds = [embed1, embed2, embed3]
await paginator.run(embeds)
有关详细信息,请参阅:DiscordUtils