Рубрика «aiogram»

В Казахстане типичная продажа через Telegram выглядит так: бот или менеджер пишет «переведите 4 990 ₸ на Kaspi», клиент присылает скриншот, человек открывает приложение и ищет платёж глазами. Это медленно, это не работает ночью, и это ломается о поддельные чеки.

Ниже — бот, который сам выставляет QR Kaspi Pay, узнаёт об оплате за несколько секунд и выдаёт товар без участия человека. Код рабочий, около 200 строк на Python. Разберём по частям всё, на чём такие интеграции обычно ломаются: подпись вебхука, повторные доставки, идемпотентность, истёкший QR и «тихую» смерть сессии Kaspi.

Читать полностью »

Нейросеть пишет грамотно, и именно поэтому её текст узнаётся с первой строки: длинные тире, конструкции «дело не в X, а в Y», “важно понимать”, «давайте разберёмся». Я столкнулся с этим на Телеграм‑боте, который превращает голосовые сообщения в сценарии для соцсетей, и чинил проблему в три слоя за один день. В статье разберу, как устроен пайплайн бота, почему просьбы в промпте не хватило, почему второй проход нейросети тоже не спас и что в итоге закрыло задачу. Весь код ниже взят из рабочего репозитория, имена переменных я чуть упростил.

Что делает бот

Читать полностью »

MAX — российский мессенджер, и многие вынуждены в нём сидеть (рабочие чаты, школы, госструктуры), но живут в Telegram. Готовых мостов мало, и почти все рассчитаны на одного пользователя: ты сам разворачиваешь сервер и подключаешь только себя.

Я сделал мост, у которого одно развёртывание обслуживает нескольких людей: каждый заходит в бота в Telegram, привязывает свой MAX‑аккаунт и получает свою отдельную супергруппу. Данные пользователей друг от друга изолированы.

Репозиторий: github.com/Balonchik1/multitenant‑max‑telegram‑bridge

Что умеет

Полтора месяца назад мне пришла претензия на 44 тысячи рублей за фото восьмилетней давности на сайте нашего отеля — типичный «фотобанковский» иск с QR‑кодом, печатью и таблицей коэффициентов. Разбирался сам, с помощью Claude, закрыл спор на 20 тысячах вместо 44 без суда и без найма юриста. Написал об этом на VC.ru — сюда, на Хабр, тащить ту же историю смысла нет, тут расскажу, как это в итоге превратилось в бота и что было интересного технически: архитектура, пять реальных багов с продакшена и то, как я срезал расходы на Claude API почти на порядок.

Читать полностью »

Есть два способа узнать, что вам пришло письмо. Первый — каждые тридцать секунд бегать к почтовому ящику и заглядывать внутрь. Второй — почтальон звонит в дверь, когда письмо реально есть.

Long Polling — это первый способ. Бот в бесконечном цикле долбит getUpdates на серверы Telegram: «есть что‑нибудь? а сейчас? а сейчас?». Telegram, надо отдать ему должное, держит соединение открытым и отвечает не мгновенно, а когда появляются апдейты — поэтому polling и называется long. Но суть не меняется: инициатор — вы, соединение висит постоянно, и весь этот механизм живёт внутри одного вашего процесса.

Читать полностью »

В прошлую пятницу, ровно в 18:47, когда я уже мысленно открывал великолепный, наполненный витаминами, напиток, мне прилетело сообщение от тимлида: «Бот лежит, пользователи жалуются, Gemini API возвращает 429». Наш корпоративный Telegram-бот, который должен был помогать саппорту отвечать на тикеты, просто встал колом. Причина оказалась до банальности простой: мы не учли rate limiting и думали, что 50 RPM (запросов в минуту) на бесплатном тарифе — это «бесконечно много». С тех пор мы переписали архитектуру, добавили очереди, кэширование и middleware для retry. В этой статье разберу, как с нуля подружить Gemini API с Telegram-ботом на aiogram 3.x, не наступая на те же грабли.Читать полностью »

Привет! Меня зовут Vlad, я начинающий Python-разработчик и энтузиаст изучения языков.

Недавно я столкнулся с классической проблемой полиглота-самоучки: учебники дают теорию, аудиокурсы — пассивное восприятие, но нет главного — обратной связи по произношению. Репетиторы дороги, а разговорные клубы требуют уровня, которого у меня еще не было.

Я решил закрыть эту боль кодом. Моя цель была амбициозной: создать Telegram-бота, который:

  1. Слушает голосовые сообщения и распознает речь без дорогих облачных API.

  2. Оценивает точность произношения в процентах, сравнивая с эталоном.

  3. Читать полностью »

Привет! Я люблю слушать книги, но не все есть на Литрес и Storytel. Особенно это касается профессиональной литературы, фанфиков, статей и документов — всего того, что вряд ли когда-нибудь озвучат профессиональные дикторы.

Я поняла, что нейросетевые голоса уже достаточно хороши для комфортного прослушивания. И подумала: а что если сделать Telegram-бота, которому можно просто скинуть файл — а через пару минут слушать аудиокнигу в удобном плеере прямо в Telegram?

Так родился VoiceBooks — open-source сервис для озвучки книг, который работает полностью бесплатно.

Читать полностью »

Привет!

Я очень люблю аудиокниги. Но в последнее время слушать их легально (и удобно) стало той еще болью. То книга внезапно пропадает из библиотеки сервиса из-за истекших авторских прав, то приложение для прослушивания обрастает ненужными функциями и начинает весить как AAA-игра, то скачанные с торрентов гигабайтные архивы забивают всю память смартфона.

Я перепробовал десяток офлайн-плееров, но везде натыкался на компромиссы: нет синхронизации между устройствами, слетает прогресс, неудобно закидывать файлы. В какой-то момент я посмотрел на Telegram с его безлимитным облаком и подумал: Читать полностью »

Всем привет!

Думаю, многим из тех, кто решил покорять литературу на английском, знакома эта ситуация: читаешь книгу (в моем случае - на читалке Kindle), честно выделяешь незнакомые слова, думая: «Вот дочитаю главу, выпишу их и выучу».

Но есть загвоздка)

В реальности, по крайней мере в моём случае, файл My Clippings.txt со всеми хайлайтами превращается в кладбище забытых слов. У меня этот файл разросся до каких-то неприличных размеров.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js