更新:请查看this 答案以获取最新版本的discord.py。
给你...我能够创建一个命令来编辑反应点击的嵌入:
计划:
@client.command()
async def embedpages():
page1 = discord.Embed (
title = 'Page 1/3',
description = 'Description',
colour = discord.Colour.orange()
)
page2 = discord.Embed (
title = 'Page 2/3',
description = 'Description',
colour = discord.Colour.orange()
)
page3 = discord.Embed (
title = 'Page 3/3',
description = 'Description',
colour = discord.Colour.orange()
)
pages = [page1, page2, page3]
message = await client.say(embed = page1)
await client.add_reaction(message, '⏮')
await client.add_reaction(message, '◀')
await client.add_reaction(message, '▶')
await client.add_reaction(message, '⏭')
i = 0
emoji = ''
while True:
if emoji == '⏮':
i = 0
await client.edit_message(message, embed = pages[i])
elif emoji == '◀':
if i > 0:
i -= 1
await client.edit_message(message, embed = pages[i])
elif emoji == '▶':
if i < 2:
i += 1
await client.edit_message(message, embed = pages[i])
elif emoji == '⏭':
i = 2
await client.edit_message(message, embed=pages[i])
res = await client.wait_for_reaction(message = message, timeout = 30.0)
if res == None:
break
if str(res[1]) != '<Bots name goes here>': #Example: 'MyBot#1111'
emoji = str(res[0].emoji)
await client.remove_reaction(message, res[0].emoji, res[1])
await client.clear_reactions(message)
截图:
要接受页码,您必须为该表情符号创建一个 if 语句并使用 wait_for_message() 函数。然后你必须检查页码是否有效,并相应地更改i的值。
希望你能明白。