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

Есть ли миддлварь для перехвата отправляемых ботом сообщений? В идеале пригодилась

бы возможность отследить число отправленных сообщений из одного хендлера, но хуй уж с ним.

22 ответов

11 просмотров

В тройке вроде будет что-то такое

Уже есть, я даже трогал. Можно например последнее сообщение юзеру хранить

Aleksandr-Danilov 🇺🇦 Автор вопроса

А на данный момент? Мб где-то это прописано но не реализовано пока? Хочу последние сообщения хранить

Aleksandr-Danilov 🇺🇦 Автор вопроса

Где такую мидлварь глянуть можно?

Ты aiogram3 используешь?

Aleksandr-Danilov 🇺🇦 Автор вопроса

Пока что просто на aiogram3 сижу. В принципе, я сейчас строю шаблон, поэтому миграция не проблема, были бы доки

Это просто пример, get_current тут только для теста, так оно работать не должно bot session.middleware(DialogMiddleware(storage=storage)

Aleksandr-Danilov 🇺🇦 Автор вопроса

Ты так хранишь входящие сообщения, правильно?

нет, это для исходящих от бота пример, ты веь про отправляемые спрашивал

Aleksandr-Danilov 🇺🇦 Автор вопроса

Окей. А где привязка к функции? Ну там, наподобие on_process_message(...). Какой апдейт ты ловишь?

привязка к всем исходящим от бота запросам, проверка через isinstance(method, SendMessage), хз можно ли иначе задать метод.

Aleksandr-Danilov 🇺🇦 Автор вопроса

Я хочу хранить несколько сообщений и от бота, и от юзера, но если с входящими к боту всё понятно, то исходящие это пздц. Я уж думал ковырять функции answer, reply и т.д.

Aleksandr-Danilov 🇺🇦 Автор вопроса

А нет ли способа отметить, когда обработка хендлера завершена?

Это несвязанный со скрином вопрос? А то я что-то не понимаю )

Aleksandr-Danilov 🇺🇦 Автор вопроса

Косвенно связан, развитие темы. Я хочу сохранять в FSM до нескольких сообщений от бота к юзеру, чтобы после ответа от юзера, удалить их пачкой. А для этого надо знать, когда хендлер отработал своё. Хотя, если очищать по входящему от юзера...

А что уже нет резолва? Для чат и юзер айди?

Есть мидлвари пост

А нет разве в контекстах фсмпрокси. Или как он там называется

Кажется есть, но он не очень подходит, как и контекстный юзер/чат, ведь не факт что сообщение будет отправлено тому же кто синициировал реквест. Там юзера и чат нужно с респонза по нормальному брать

Aleksandr-Danilov 🇺🇦 Автор вопроса

Чё-то хуйня какая-то, нет methods в строчке импорта from aiogram.methods

Так я говорил что это для aiogram3

Aleksandr-Danilov 🇺🇦 Автор вопроса

А, окей

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
5
Карта сайта