【发布时间】:2020-05-31 11:13:41
【问题描述】:
我有一个异步函数,它应该将反应添加到列表中,直到按下某个反应,然后它将添加所有适当的角色。为此,我有一个全局变量“reactions = []”,当按下“ok”反应时,它会被重置。 VS Code 在 "for react in reactions:" : "reactions is used before it is defined. Move the definition before." 行上告诉我这一点,这令人困惑,因为roleEmojis 是另一个全局变量,但它工作正常。
这是我的代码:
import os
import discord
import time
from discord.utils import get
from discord.ext import commands
token = "TOKEN"
BOT = commands.Bot("£")
reactions_list = []
@BOT.event
async def on_reaction_add(reaction , user):
if reaction.emoji in roleEmojis.keys() and user != BOT.user:
if reaction == get(reaction.message.guild.emojis, name = "OK"):
for react in reactions_list:
await user.add_roles(roleEmojis[react.emoji])
reactions_list = []
else:
reactions_list.append(reaction)
BOT.run(token)
旁注:我还没有弄清楚如何检测某人何时对消息“未反应”,感谢那里的任何帮助
【问题讨论】:
标签: python python-asyncio discord.py