169 похожих чатов

From aiogram import Bot, Dispatcher, executor, types from typing import Callable,

Dict, Any, Awaitable
from aiogram.dispatcher.middlewares import BaseMiddleware

bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

class Middleware(BaseMiddleware):
async def call(
self,
#handler: Callable[[types.Message, Dict[str, Any]], Awaitable[Any]],
event: types.Update,
data: Dict[str, Any]
):

print(event, data)

if name == 'main':
dp.middleware.setup(Middleware())
executor.start_polling(dp)

Ребята, создал свой мидлварь, но он почему-то работает, ничего не принтит, как сделать, чтобы он заработал?

8 ответов

14 просмотров
Mike-Tyson Автор вопроса

А какая разница между dp.middleware.setup и dp.setup_middleware

И зачем ты закомментировал handler? У тебя после срабатывания мидлваря не идёт апдейт в хендлеры

А регистрируется он так: dp.message.middleware(Middleware()) Вместо dp можно любой router Вместо message можно любой другой апдейт Вместо middleware можно outer_middleware

Mike-Tyson Автор вопроса
Mikhail Smolnikov
И зачем ты закомментировал handler? У тебя после с...

class NewUser(BaseMiddleware): async def __call__(self, handler: Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]], event: TelegramObject, data: Dict[str, Any] ) -> Any: print(data, event) print(data['event_from_user']) Почему вот этот мидлварь ничего не принтит, но при этом бот на команды реагирует

А зачем ты берешь пример для тройки и без каких либо изменений бездумно копируешь в проект на двойке?

Mike-Tyson Автор вопроса
Mikhail Smolnikov
А зачем ты берешь пример для тройки и без каких ли...

Ну я думал, что там строение мидлварей не поменялось

Mike-Tyson Автор вопроса

Чего блять, в мидлваре мне это нужно

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Карта сайта