Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在on_消息函数外部调用时,无法在函数内部引用变量_Python_Discord_Discord.py_Discord.py Rewrite - Fatal编程技术网

Python 在on_消息函数外部调用时,无法在函数内部引用变量

Python 在on_消息函数外部调用时,无法在函数内部引用变量,python,discord,discord.py,discord.py-rewrite,Python,Discord,Discord.py,Discord.py Rewrite,我正在尝试创建一个名为“saynum”的代码,参数为amount(这是一个自然数)。该命令的工作方式是计算自运行该命令以来的消息数,并将该数字发送到discord。不过我有一个街区。当尝试运行异步定义on_message(message)(当然是@bot.event)并调用该函数之外的变量时,我无法从on_message函数之外引用该变量。有解决办法吗?这个问题可能会被否决 如果没有解决方法,那么该命令是否可以工作?我不知道如何用另一种方式来处理它 以下是我正在使用的代码: import dis

我正在尝试创建一个名为“saynum”的代码,参数为amount(这是一个自然数)。该命令的工作方式是计算自运行该命令以来的消息数,并将该数字发送到discord。不过我有一个街区。当尝试运行
异步定义on_message(message)
(当然是@bot.event)并调用该函数之外的变量时,我无法从on_message函数之外引用该变量。有解决办法吗?这个问题可能会被否决

如果没有解决方法,那么该命令是否可以工作?我不知道如何用另一种方式来处理它

以下是我正在使用的代码:

import discord
from discord.ext import commands
import random
import sys
import traceback


Client = discord.Client()
client = commands.Bot(command_prefix='~', case_insensitive=True)
client.remove_command("help")

@client.command()
async def saynum(ctx, amount):
    num = 0
    if amount.isdigit():
        if int(amount) < 1:
            await ctx.send("Please put an integer greater than 1.")
        else:
    @client.event
    async def on_message(message):
        num += 1
        await ctx.send(num)
导入不一致
从discord.ext导入命令
随机输入
导入系统
导入回溯
Client=discord.Client()
client=commands.Bot(命令前缀=“~”,不区分大小写=True)
client.remove_命令(“帮助”)
@client.command()
异步def saynum(ctx,金额):
num=0
如果amount.isdigit():
如果int(金额)<1:
等待ctx.send(“请输入一个大于1的整数”)
其他:
@客户端事件
异步def on_消息(消息):
num+=1
等待ctx发送(num)

哦,最后一件事。我的python版本是3.6.6,如果你不知道的话,我正在使用discord.py重写。

行上方
num+=1
put
非本地num

这让python知道变量的范围(在本例中为外部变量)