0

我环顾四周,真的不知道还能做什么。我的函数没有在我调用它的地方定义。我在想它可能很愚蠢,但我找不到它。

def function1():
    global tobegrouped
    if(len(tobegrouped) >= 2): 
        print(len(tobegrouped)) 
        prs1 = random.choice(tobegrouped)
        print("got prs1")
        prs2 = random.choice(tobegrouped)
        print("got prs2")
        newgroup = group(prs1, prs2)
        print("made group")
        global groups
        groups.append(newgroup)
        print("appended to group")
        newgroup.send_message("Welcome to robinbot, have fun, and don't spam", self)
    else :
        print("no group ready yet")

这就是我所说的。我已经检查过它是否超过了文件中函数的定义。

if command == '/start':
        #   MAYBE CHECK IF IN GROUP HERE
        global tobegrouped
        tobegrouped.append(chat_id)
        print("in to be grouped")
        self.sendMessage(chat_id, "welcome to robin, please wait to be grouped")
        print("sent message")
        function1()
        print("function1s working")

                              

这是错误,以防万一您需要它

在此处输入图像描述

编辑:文本错误

on_chat_message 中的文件“bot.py”,第 133 行

函数1()

NameError:名称'function1'未定义

回溯(最近一次通话最后):

(模块)中的文件“bot.py”第 223 行

时间.sleep(10)

4

1 回答 1

0

错误发生在第 133 行,大概是在最终从第 223 行调用的某个函数内部(如果我正确解释了您的代码段)。显然,在您的代码到达第 223 行时function1()未定义。

如果function1()出现在同一文件中的第 223 行之前,则必须在另一个限制其定义范围的函数(或可能的类)中定义它。或者可能定义在if出来的块内False,或者类似的。Python 函数定义是普通代码,因此可以跳过它们而不执行它们。

于 2016-05-11T14:12:31.000 回答