我制作了一些 discord.py 机器人,但我遇到了一个令人惊讶的。它被称为 IdleRPG,并使用带有按钮的丰富嵌入消息。这是一张图片(注意菜单底部的按钮):
我尝试联系开发人员并在网上搜索,但似乎无法找到他们是如何做到的。有谁知道有关如何创建它们的任何资源?请提供链接。
最佳答案
更新: 请检查 this 答案以获取最新版本的 discord.py
。
给你......我能够创建一个命令来编辑 react 点击的嵌入:
程序:
@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
的值。我希望你能明白。
关于python - Discord 丰富的嵌入按钮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55075157/