Я создаю бота Discord, но я думаю, что это больше связано с Python, чем с discord.py
У меня есть эта функция, созданная для идентификации участника сервера:
async def targetIdentificator(ctx):
targetArgument = ctx.message.content.lower().replace(">target", "")
for member in ctx.message.guild.members:
if targetArgument.lower() in member.name.lower():
targetID = member.id
targetName = targetArgument
print("targetID")
if targetID != "":
return targetID
else:
return None
И примерно 200 строк выше в коде, я определяю две переменные как таковые:
targetName = ""
targetID = ""
Я использовал эти переменные много раз на протяжении всего кода, в различных других функции. В этой функции происходит следующее: когда я упоминаю targetID
, он ссылается на новую локальную переменную вместо ссылки на глобальную переменную. Поэтому, если оператор if
внутри цикла for
никогда не выполняется, я получаю следующую ошибку:
UnboundLocalError: local variable 'targetID' referenced before assignment
Это, вероятно, действительно простая ошибка, и я прошу прощения, если так, но я был Я так долго почесываю голову об этом и, кажется, не могу понять почему ...
Заранее спасибо.