所以我是 discord.py 的新手,我对 Lua(另一种编码语言)有一些经验。我试图让我的机器人在等待十分钟后重复它正在做的事情。但是错误告诉我没有定义“重复”。我知道定义重复是什么,但我不知道将它定义为什么或导入什么。我的代码如下所示。
@bot.event
async def on_reaction_add(reaction, user):
emoji = reaction.emoji
if user.bot:
return
if emoji == '1️⃣':
await user.send('Reminding you every ten minutes.')
await asyncio.sleep(600)
await user.send('Reminding you to stop procrastinating!')
repeat()
应该发生什么:
当用户对消息用 "1️⃣"
做出反应时(我没有显示消息代码,因为它没有问题),我的机器人会 DM 用户说“每十分钟提醒一次”。然后机器人将等待 10 分钟,然后再次 DM 用户说“提醒你停止拖延!”除非用户说“pp!remove”,否则它会重复这个过程,我只是无法让重复功能工作。
先谢谢你。 :)
答案 0 :(得分:0)
这实际上会按照您的要求执行,但这永远不会退出。不知何故,你需要让你的“停止这个!”命令设置 while
循环检查的标志。
@bot.event
async def on_reaction_add(reaction, user):
emoji = reaction.emoji
if user.bot:
return
if emoji == '1️⃣':
await user.send('Reminding you every ten minutes.')
while True:
await asyncio.sleep(600)
await user.send('Reminding you to stop procrastinating!')