首页 > 解决方案 > 如何修复 discord.py 中的“UnboundLocalError”

问题描述

我正在尝试用 Python 编写一个 Discord Role Reaction Bot。但是我的UnboundLocalError变量上有一个role_to_add

我已经尝试更改变量的名称。

这是我的代码:

@client.event
async def on_raw_reaction_add(payload):

    message_id = payload.message_id


    if message_id == 634732408016601186:

        if payload.emoji.name == ":white_check_mark:":
            role_to_add = 634732495849521163
        elif payload.emoji.name == ":x:":
            role_to_add = 634732552342601740

        user_id = payload.user_id
        guild = client.get_guild(payload.guild_id)
        member = guild.get_member(user_id)

        await member.add_roles(role_to_add)

这是整个错误:

Traceback (most recent call last):
  File "C:\Users\AUBIN\AppData\Local\Programs\Python\Python37\lib\site-packages\discord\client.py", line 270, in _run_event
    await coro(*args, **kwargs)
  File "d:/Dossiers AUBIN/Programmation/Python/Mes projets/Graven_Discord.py-master/Commandes/ReactionRole.py", line 26, in on_raw_reaction_add
    await member.add_roles(role_to_add)
UnboundLocalError: local variable 'role_to_add' referenced before assignment

我该如何解决?

标签: pythondiscord.py

解决方案


推荐阅读