Я пытаюсь получить мой декоратор работает, но я получаю вернулся сдекоратор не работает правильно
TypeError: command() takes 1 positional argument but 2 were given
Я не уверен, что происходит, кто-то может объяснить мне, что я делаю неправильно?
Decorator Код
def command(command):
def method(self, *args, **kwargs):
return command(self, *args, **kwargs)
return method
Функция с помощью декоратора
@bot.command
async def speak(msg : str):
await bot.say(msg)
Демонстрация
Я хотел бы иметь бота, который будет реагировать на команды на спусковой крючок ,
Например, я пришлю сообщение чата:
?eval 1 * 2
который бот будет отвечать с
2
Используя @bot.command
, я буду иметь возможность создавать гибкую систему который сообщает приложению, что эта функция является функцией триггера.
например
@bot.command
async def eval(self, *args)
await bot.send(eval(*args))
Пожалуйста, дайте [mcve] - что такое '' бот', например? Где остальная трассировка? – jonrsharpe
Я покажу вам что-то, что демонстрирует то, что я пытаюсь сделать. @jonrsharpe –
Это редактирование вообще не помогает. Перечитайте статью связанного справочного центра и укажите что-то, что ** действительно помогает воссоздать проблему **. В идеале мы должны иметь возможность вырезать и вставлять что-то, выполнять его и видеть точно такой же результат. – jonrsharpe