Как сделать инлайн телеграм бота
10.01.2025
34
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** телеграма может выполнять различные действия в чатах без человека.
Релевантные вопросы
- Что не умеют делать чат-боты Несмотря на то, что chatgpt захватывает всё больше и больше пользователей в своё влияние, чат-боты до сих пор плохо решают индивидуальные запросы и жалобы пользователей. Они не смогут вам найти новых клиентов, и сэкономить денег они тоже не помогут.
- Для чего нужен телеграм бот Телеграм боты могут использоваться по разным причинам. Они являются универсальными помощниками в бизнесе, могут предоставлять удобный формат взаимодействия с клиентами или быть отличной платформой для размещения сайта или инструмента.
- Чем отличается канал от чата в Telegram Отличие между чатом и каналом есть и они довольно существенны. В канале одностороннее общение между создателем и аудиторией, в чатах все общаются на равных. По всем другим параметрам чаты легче каналов. Так лимита на аудиторию в каналах нет, в чатах до 200 тыс.