Как сделать инлайн телеграм бота
10.01.2025
15.04.2025
3 минуты
229
0
0
0
0
Вступление
В данной статье я покажу как работает инлайн телеграм бот, как отправлять ответы и как эти ответы настраивать. Так же ты узнаешь как можно настроить переводы для твоего бота и конечно сможешь протестировать моего бота, @joker_gut_bot
В чём вообще суть inline режима ботов? Суть в том, что пользователь может отправлять ответы бота от своего имени в любые чаты. Некоторые такие боты внедрены в сам телеграм, например:
И ты конечно же можешь сделать свой собственный если потребуется.
Подготовка и установка необходимых пакетов
Нам будут необходимы следующие пакеты:
- Библиотека aiogram
- Библиотека Babel
Первая необходима для связи и работы с телеграм API. Библиотека Babel потребуется для переводов.
Токен бота я храню в отдельном файле под названием .env, сделай его. Он содержит лишь одну строку: BOT_TOKEN=1111111111:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Полную, базовую настройку телеграм бота ты можешь посмотреть в этой статье.
Пишем inline-бота
Переходим к непосредственному написанию бота. В файле main.py сделай импорт следующих модулей:
После чего, в конец добавим точку входа и стандартные обработчики для запуска приложения и для помощи с его функционалом:
Теперь в файле config.py добавим импортёр токена и роутер по умолчанию - bot_dispatcher:
Скелет бота готов. И его можно даже запустить, но никакого функционала он пока не предусматривает. Теперь начнём добавлять к нему функционал инлайн ботов. Всего телеграм поддерживает 20 инлайн-ответов:
- InlineQueryResultCachedAudio
- InlineQueryResultCachedDocument
- InlineQueryResultCachedGif
- InlineQueryResultCachedMpeg4Gif
- InlineQueryResultCachedPhoto
- InlineQueryResultCachedSticker
- InlineQueryResultCachedVideo
- InlineQueryResultCachedVoice
- InlineQueryResultAudio
- InlineQueryResultDocument
- InlineQueryResultGif
- InlineQueryResultMpeg4Gif
- InlineQueryResultPhoto
- InlineQueryResultVideo
- InlineQueryResultVoice
- InlineQueryResultContact
- InlineQueryResultGame
- InlineQueryResultLocation
- InlineQueryResultArticle
- InlineQueryResultVenue
Как видно, есть три группы ответов. Первая с корнем Cached, это значит бот будет брать данные из базы данных. Вторая группа без корня Cached. Они используют ссылки в качестве источника данных. И третья группа, состоит из тех ответов, которые не имеют аналога с Cached.
Показывать работу инлайн ботов буду на примере InlineQueryResultArticle и InlineQueryResulltPhoto. Добавим следующие функции в main.py:
Обработчик send_greetings вызывается тогда, когда после имени бота пользователь написал greeting. Всё что она делает это запихивает в список 3 InlineQueryResultArticle и возвращает пользователю ответ на выбор. Вот так:

Обработчик send_user_images делает то же самое только с картинками, InlineQueryResultArticle.

Телеграм бот готов, осталось его только развернуть на сервере и вуаля, твой новый помощник готов. О том как это сделать я писал в отдельной статье, ооо, а вот и она. Более подробно о нём ты можешь ознакомиться здесь.
Делаем переводы(опционально)
Заключение
Я старался сделать статью про inline-ботов максимально простой и не перегруженной всякими базами данных или переводами. Но переводы я в конце концов включил ◑﹏◐. Все файлы и ресурсы бота ты сможешь найти на соответствующей странице инструментов. Чирс.
Комментарии
(0)
Отправить
Сейчас тут пусто. Буть первым (o゚v゚)ノ
Другое
Похожие статьи
Использованные термины
- Телеграм бот ⟶ Это программа, которая используя **API** телеграма может выполнять различные действия в чатах без человека.
- aiogram ⟶ Это фреймворк, который построен на модуля питона *asyncio* и *aiohttp*, для создания телеграм ботов. Полностью *ассинхронный*.
- Питон или Python ⟶ Интерпретируеммый, объектно ориентированный, с динамической семантикой и высокоуровневый язы программирования. Активно используется для быстрой разработки, созданию скриптов и соединению существующих компонентов программы.
- Поисковой бот ⟶ Это программа или алгоритм, который автоматически сканирует веб-страницы, собирает информацию и индексирует её для последующего поиска. Такие боты, также известные как веб-пауки или веб-краулеры, используются поисковыми системами, такими как Google, Яндекс, Bing и другими.
Релевантные вопросы
- Подходит ли Python для создания ботов Python является одним из самых популярных языков программирования для разработки ботов. Он очень простой и интуитивно понятный. Это отличным выбором для новичков. Так же python имеет в своей коллекции огромное количество библиотек, которые упростят вам жизнь и работу.
- Что не умеют делать чат-боты Несмотря на то, что chatgpt захватывает всё больше и больше пользователей в своё влияние, чат-боты до сих пор плохо решают индивидуальные запросы и жалобы пользователей. Они не смогут вам найти новых клиентов, и сэкономить денег они тоже не помогут.
- На чем лучше писать телеграм-бота Я знаю 5 языков на которых можно писать тг ботов. Python(aiogram), JS(Node.js), PHP(MadelineProto), Java(TelegramBots) и Go(tgbotapi). Выбор на каком языке писать зависит только от того, что вы уже умеете и какие предпочтения в языках вы имеете.