0

尝试浏览列表并显示分配的可调用对象cmds

这是在__init__.py

class Cmd(object):
    def __init__(self, callables, func, cooldown=0):
        self.func = func
        self.cooldown = cooldown
        self.next_use = time()
        self.callables = callables

cmds = [
    Cmd(["hello", "hi", "hey"], misc.hello, cooldown=30),
    Cmd(["roll"], misc.roll, cooldown=15),
    Cmd(["potato", "potatoes", "p"], economy.potato, cooldown=15),
    Cmd(["heist"], bet.start_heist, cooldown=15),
    Cmd(["about", "credits"], misc.about, cooldown=15),
    Cmd(["uptime"], misc.uptime, cooldown=15),
    """Cmd(["loyalty"], misc.loyalty, cooldown=15),"""
]

这是在misc.py

def help(bot, prefix, cmds):
    bot.send_message(f"Registered commands (incl. aliases): "
                     + ", ".join([f"{prefix}{'/'.join(cmd.callables[0])}" for cmd in cmds]))

问题上线了

bot.send_message(f"Registered commands (incl. aliases): "
                     + ", ".join([f"{prefix}{'/'.join(cmd.callables[0])}"
4

1 回答 1

0

如评论中所述,您似乎试图cmds通过将其中一个条目放在字符串中来注释掉它。由于此字符串没有callables属性,因此当您的函数可能处理AttributeError时会引发an 。cmdshelp

删除或注释掉(使用#符号)的最后一个条目cmds应该可以解决您的问题。例如,

cmds = [
    Cmd(["hello", "hi", "hey"], misc.hello, cooldown=30),
    ...
    Cmd(["uptime"], misc.uptime, cooldown=15),
    # """Cmd(["loyalty"], misc.loyalty, cooldown=15),"""
]
于 2020-06-23T01:29:57.250 回答