【发布时间】:2020-09-20 01:47:31
【问题描述】:
我是不和谐机器人制作的新手,我想让机器人在我的消息中添加一个反应,一旦按下该反应,用户就可以做出反应来选择一个角色。允许我这样做的代码是什么?谢谢。
【问题讨论】:
标签: discord.py
我是不和谐机器人制作的新手,我想让机器人在我的消息中添加一个反应,一旦按下该反应,用户就可以做出反应来选择一个角色。允许我这样做的代码是什么?谢谢。
【问题讨论】:
标签: discord.py
这是一个写得很好,格式也很好的问题!为了让机器人检测到对特定消息的反应,您可以采取多种方式。最简单的方法是通过 ID,所以我将使用一个简单的命令来执行此操作。
messageIDs = []
@client.event
async def on_raw_reaction_add(payload):
global messageIDs
for messageID in messageIDs:
if messageID == payload.message_id:
user = payload.member
role = "roleName"
await user.add_roles(discord.utils.get(user.guild.roles, name = role))
@client.command()
async def addMessage(ctx, messageID):
global messageIDs
emoji = "?"
channel = ctx.message.channel
try:
msg = await channel.fetch_message(messageID)
except:
await ctx.send("Invalid Message ID!")
return
await msg.add_reaction(emoji)
messageIDs.append(messageID)
【讨论】:
discord和from discord.ext import commands,我还需要在开头导入什么吗?我这样说是因为这是我设置的代码 - gyazo.com/60a88b1fabd762f1430319a304e97c01,但是当我运行代码时,它会说:gyazo.com/d94d2fc46c73b97f30dbf6cc3b92ee98。很抱歉再次打扰您。
from discord.utils import get 抱歉回复晚了!