当用户对list
或▶
做出反应时,如何更改嵌入说明?
这是我当前正在使用的代码,-
◀
此外,当用户对消息做出反应时,我想清除用户的反应。 此外,我只想向具有权限的用户(管理员)显示第三个embed(Mod Commands)。 感谢您的帮助。
编辑-我知道如何正常地更改嵌入,我只是想不出当作者添加反应时如何更改嵌入...
答案 0 :(得分:0)
也许对您有帮助。 converting constructor:
@bot.event
async def on_reaction_add(reaction, user):
for role in user.roles:
# administrator role name = 'test_role'
if role.name == 'test_role':
# if user is administrator
# do something
break
else:
# if user is not administrator
# and add emoji ▶ or ◀ for any message
if reaction.emoji == '▶':
# if user add reaction emoji - ▶
# do something
pass
elif reaction.emoji == '◀':
# if user add reaction emoji - ◀
# do something
pass
答案 1 :(得分:0)
我也在想同样的事情。 我现在可以接受用户的反应但不能清除它们所以他们必须按两次(一次清除然后反应) 而且所有的嵌入都在发送时编辑 这是我的代码供参考:
def check(reaction, user):
return user == author and str(reaction.emoji) in ["➡","⬅"]
help_list=[help_embed,server_embed,greet_embed,fun_embed,music_embed,utility_embed]
count=0
help_msg=await ctx.send(embed=help_list[count])
await help_msg.add_reaction("⬅")
await help_msg.add_reaction("➡")
while True:
reaction, user = await self.bot.wait_for('reaction_add',check=check)
print(str(reaction))
if str(reaction.emoji) == "➡":
count+=1
if count>len(help_list)-1:
count=0
await help_msg.edit(embed=help_list[count])
await help_msg.add_reaction("⬅")
await help_msg.add_reaction("➡")
elif str(reaction.emoji) == "⬅":
count-=1
if count<0:
count=len(help_list)-1
await help_msg.edit(embed=help_list[count])
await help_msg.add_reaction("⬅")
await help_msg.add_reaction("➡")
注意:help_list 只是一个嵌入列表。
谢谢!