Как остановить проверки всех хендлеров в vkbottle используя Middleware?

У меня разделён код, и в файле запуска самого бота он такой:

import traceback
from vkbottle import load_blueprints_from_package, BaseMiddleware
from vkbottle.bot import Bot, Message
from loguru import logger
import sys, psycopg2

logger.remove()
logger.add(sys.stderr, level="INFO")

# Инициализация токеном
bot = Bot(token=token)
# бд
DATABASE_URL = database

class NoMutedUser(BaseMiddleware[Message]):
    async def pre(self):
        try:
            with psycopg2.connect(DATABASE_URL, sslmode='require') as db:
                cursor = db.cursor()
                cursor.execute("SELECT * FROM muted")
                for i in cursor.fetchall():
                        chat_array = i[3]
                        for chat_id in chat_array:
                            if self.event.from_id == i[0] and self.event.chat_id == chat_id:
                                self.stop("Пользователь в муте")
        except:
            traceback.print_exc()

for bp in load_blueprints_from_package("blueprints"):
    bp.load(bot)

bot.labeler.message_view.register_middleware(NoMutedUser)
bot.run_forever()

Как можно сделать остановку проверки остальных хендлеров, если пользователь все таки в муте? Сам self.stop просто возвращает ошибку, но всё остальное продолжает работать. Все остальные хендлеры у меня находятся в папке, рядом с этим кодом


Ответы (0 шт):