По сути, это через декораторы aiogram(не единственная библиотека, которая так делает) регистрирует обработчик команд.
Пример такой реализации:
class Bot:
def __init__(self):
self.handlers = dict()
self.on_message = None
def on(self, command):
def decorator(func):
self.handlers[command] = func
return func
return decorator
def handle(self, event)
if event["object"]["message"]["text"] in self.handlers:
self.handlers[event["object"]["message"]["text"]](event["object"])
elif self.on_message is not None:
self.on_message(event["object"])
bot = Bot()
@bot.on("привет")
def hello_handler(msg):
print(f"Hello: {msg}")
# Для ответа можете реализовать отдельную функцию, которая обращается к vk_api
def on_message(msg):
print(msg)
Здесь надо реализовать ещё инициализацию бота, основной цикл и запуск.