Я пытаюсь реализовать CommandHandler, который читает словарь команд из .yml и должен вызывать метод на основе ввода пользователя
commands.yml:
'help': {
'message': 'message',
'help': 'help-message',
'action': help_command
},
'news': {
'message': 'news-message',
'help': 'help-message',
'action': news_command
}
CommandHandler .py:
def handle_command(self, command, parameters, message):
self.commands.get(command).get('action')(parameters, message)
Я получаю TypeError: 'str' is not callable
. С. json это та же ошибка. Сохранение его как commands.py и его импорт дает мне NameError: name 'help_command' is not defined
.
Однако, если я просто вставлю dict в код напрямую, он будет работать нормально. Есть ли какое-нибудь решение, кроме прямого определения dict в коде?