Есть ли опыт работы с Telegram Web API
Что проверяют
Работали ли вы с Telegram руками и понимаете ли, какой именно API имеется в виду. Следом обычно спрашивают, как бот получал обновления и как вы обходили ограничения на частоту отправки.
Как отвечать
Сначала уточните, о чём речь, у Telegram три разных интерфейса:
- Bot API: HTTPS-запросы к
api.telegram.org/bot<token>/<method>, самый частый случай. На Python этоaiogram3 илиpython-telegram-bot, обе библиотеки асинхронные; - клиентский API на MTProto: работа от имени пользователя через
api_idиapi_hash, библиотека Telethon. Нужен для парсинга каналов и автоматизации аккаунта; - Mini Apps: веб-приложение внутри Telegram. Бэкенд обязан проверить подпись
initDataчерез HMAC-SHA256 с ключом, выведенным из токена бота, иначе любой подделает пользователя.
Затем расскажите свой проект по каркасу: задача бота, библиотека, способ получения обновлений, хранение состояния, деплой. Технические детали, которые стоит назвать:
getUpdatesиsetWebhook: long polling проще для разработки, вебхук для продакшена. Одновременно они не работают: пока вебхук установлен,getUpdatesвернёт ошибку 409;- защита вебхука: параметр
secret_token, Telegram присылает его в заголовкеX-Telegram-Bot-Api-Secret-Token; - лимиты: около одного сообщения в секунду в один чат и порядка 30 в секунду суммарно, при превышении приходит 429 с
retry_after. Для рассылок нужна очередь; - состояние диалога: FSM в
aiogramс хранилищем в Redis, чтобы не терять шаги при перезапуске.
Цифры про аудиторию и нагрузку называйте только свои. Если опыта нет, скажите прямо и опишите, как подошли бы к задаче, а лучше соберите небольшого бота до собеседования и расскажите о нём.
Где спотыкаются
Путают Bot API и клиентский API. Бот видит только чаты, куда его добавили, а посты канала получает, лишь будучи его администратором, и это определяет архитектуру парсера.
Вызывают синхронный requests внутри асинхронного хендлера. Один медленный запрос блокирует цикл событий, и бот перестаёт отвечать всем.
Хранят токен в коде репозитория и не проверяют секрет вебхука, так что любой может слать на эндпоинт поддельные обновления.