discord.py - 我如何使用 wait_for 命令在 discord.py 中寻找两种不同的反应?
问题描述
我有一个机器人,它会询问用户是否确定他们输入了正确的信息,并向他们展示他们输入的内容。我希望他们对正确的竖起大拇指和不正确的竖起大拇指做出反应,但我似乎无法让代码同时查看两者。这就是我所拥有的......有人知道该怎么做吗?
def isUser(reaction, user):
return user == ctx.author and (str(reaction.emoji) == '' or str(reaction.emoji) == '')
try:
reaction, user = await bot.wait_for('reaction_add', timeout=60, check=isUser)
except asyncio.TimeoutError:
await msg.edit(embed=embedEnd)
else:
for i in msg.reactions:
if i.emoji == '':
if i.count > 1:
await msg.edit(embed=embedFin)
elif i.emoji == '':
if i.count > 1:
await msg.edit(embed=embedEnd)
msg
是我的机器人的消息。
embedFin
是我想在他们反应时展示的嵌入。
embedEnd
是我想在他们反应时展示的嵌入。
bot
是commands.Bot()。
如果您需要更多信息,请告诉我!感谢:D
解决方案
def isUser(reaction, user):
return user == ctx.author and (str(reaction.emoji) == '' or str(reaction.emoji) == '')
try:
reaction, user = await bot.wait_for('reaction_add', timeout=60, check=isUser)
except asyncio.TimeoutError:
await msg.edit(embed=embedEnd)
else:
if str(reaction.emoji) == '':
await msg.edit(embed=embedFin)
else:
await msg.edit(embed=embedEnd)
推荐阅读
- c++ - 运算符重载导致模板参数推导失败
- batch-file - 使用批处理随机选择 ffmpeg 的输入文件
- sql - 是否为表中的每个外键隐式创建了非聚集索引?
- android - 活动中不显示对话的原因
- java - java mockito 匹配器 InvalidUseOfMatchersException
- bash - 如何从 systemd 服务文件中删除 bash?并用可以解决我下面解释的问题的东西替换它?
- slurm - 控制用户帐户中的所有作业
- javascript - 修改strapi中的响应对象
- javascript - UnhandledPromiseRejectionWarning:未处理的承诺拒绝(NodeJs、Webdriverio、Selenium)
- android - Android Studio中Refactor --> Extract函数是什么意思?