我想做什么:我想在您发送消息后调用它时返回一个命令。
我发送的内容: 命令 你好
结果: 功能() NameError: name 'function' 未定义
我该如何解决这个问题?
代码:
@bot.command()
async def command():
global variable
variable = False
async def function():
variable = True
if variable == True:
return
@bot.event
async def on_message(message):
function()
await bot.process_commands(message)
答案 0 :(得分:1)
您不能在另一个函数中定义一个函数。 Python 不会将此识别为可以在定义它的范围之外使用的标识符。将您的函数定义移到全局范围之外,如下所示:
async def function(variable):
variable = True
@bot.command()
async def command():
global variable
variable = False
function(variable)
if variable == True:
return
@bot.event
async def on_message(message):
function(some_other_variable)
await bot.process_commands(message)