作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为机器人发出命令,当消息中提到的每个人都对机器人的响应使用react时,它会提到原始消息作者
这就是我尝试过的
if msg.content.startswith('/iniciar'):
async with msg.channel.typing():
mentions = ""
for mention in msg.mentions:
mentions = mentions + " " + mention.mention
bot_msg: discord.Message = await msg.channel.send(mentions + ' confirmem presença reagindo abaixo.')
await bot_msg.add_reaction('✅')
for mention in msg.mentions:
def check(reaction, user):
return user == mention and str(reaction.emoji) == '✅'
try:
reaction, user = await client.wait_for('reaction_add', check=check)
finally:
reactionusers: list = await reaction.users().flatten()
reactionusers.remove(reactionusers[0])
print(reactionusers)
print(msg.mentions)
if reactionusers == msg.mentions:
await msg.channel.send(msg.author.mention)
else:
return
最佳答案
好的,首先,您需要考虑当前实现中的一些事项。首先,您可能希望将希望机器人在某处观看的消息 ID 保存下来。不管这是 SQL、Shelve 还是什么
为此,当调用 /iniciar
函数时,将消息 ID 保存在您喜欢的任何首选长期存储方法中,机器人可以检查的地方。
然后您需要考虑如何激活此代码块,我在您当前给定的代码中看不到它。我建议,出于您的目的,使用 on_reaction_add
此处有文档:https://discordpy.readthedocs.io/en/latest/api.html#discord.on_reaction_add
使用Reaction.message
获取消息对象,并将消息中提到的相关信息读取到列表中(类似于您的操作)。
当用户对消息使用react并调用 on_reaction_add
时:
关于python - 检查用户列表是否对消息 discord.py rewrite 作出 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59167599/
我是一名优秀的程序员,十分优秀!