为了账号安全,请及时绑定邮箱和手机立即绑定

为什么它说 USER_SETUP 是未使用的变量,而实际上它不是?不和谐.PY

为什么它说 USER_SETUP 是未使用的变量,而实际上它不是?不和谐.PY

守着星空守着你 2023-08-22 16:50:09
您好,我正在尝试制作一个反应角色机器人,但遇到了这个错误。它说我的名为 USER_SETUP 的变量未使用,但事实并非如此。我已经尝试了大多数事情,但我似乎无法做到正确。这是我的代码:USER_DOING_SETUP = FalseUSER_SETUP = 0@client.command(aliases=['rr', 'reactionroles'])async def reactionrole(ctx, user, arg):    if arg == "setup":        if USER_DOING_SETUP == False:            userId = user.id            USER_SETUP = userId            USER_DOING_SETUP = True            await ctx.send(f"TEST REACTION ROLES TYPE {BOT_PREFIX}!rr cancel TO CANCEL")        else:            await ctx.send("Setup is used by another user")    elif arg == "cancel":        USER_DOING_SETUP = True        USER_SETUP = 0        await ctx.send("setup was cancled :)")@client.eventasync def on_message(message):    if message.author != client.user:        if USER_DOING_SETUP == False:            await message.channel.send("false")        elif USER_DOING_SETUP == True:            if USER_SETUP == message.author.id:                await message.channel.send("true")            else:                await message.channel.send("false")错误: Unused variable 'USER_SETUP'
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

您必须在使用它们的每个函数的开头声明您正在使用每个全局变量(或者至少在读取/分配给它们之前):


USER_DOING_SETUP = False

USER_SETUP = 0


@client.command(aliases=['rr', 'reactionroles'])

async def reactionrole(ctx, user, arg):

    global USER_DOING_SETUP

    global USER_SETUP

    if arg == "setup":

        if USER_DOING_SETUP == False:

            userId = user.id

            USER_SETUP = userId

            USER_DOING_SETUP = True

            await ctx.send(f"TEST REACTION ROLES TYPE {BOT_PREFIX}!rr cancel TO CANCEL")

        else:

            await ctx.send("Setup is used by another user")

    elif arg == "cancel":

        USER_DOING_SETUP = True

        USER_SETUP = 0

        await ctx.send("setup was cancled :)")


@client.event

async def on_message(message):

    global USER_DOING_SETUP

    global USER_SETUP

    if message.author != client.user:

        if USER_DOING_SETUP == False:

            await message.channel.send("false")

        elif USER_DOING_SETUP == True:

            if USER_SETUP == message.author.id:

                await message.channel.send("true")

            else:

                await message.channel.send("false")


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 1252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信