Наверняка вам уже приходилось сталкиваться с ботами в Telegram. Боты помогают автоматизировать рутинные задачи как для обычных пользователей (например, боты-планировщики или боты для учета финансов), так и для компаний. Последние могут использовать ботов-рекламщиков, которые занимаются рассылками по клиентской базе, ботов-ассистентов, которые выполняют роль технической поддержки, и так далее.
В этой инструкции опишем процесс создания бота в Telegram на Python . В качестве примера создадим Telegram-бот компании Timeweb Cloud, который будет приветствовать пользователя и предлагать ему перейти на сайт компании.
Как создать бота в Telegram на Python пошагово
Шаг 1. Регистрация бота в BotFather
После нажмите кнопку «Запустить» в нижней части окна и выберите в открывшемся списке команду /newbot . Бот предложит указать имя создаваемого бота. В нашем случае укажем TimewebCloudBot, и его же продублируем в качестве короткого имени.
После этого бот будет создан.
🧰 Телеграмм бот отвечающий на команды. Используя WebHooks — часть 1, пишем бота.
Надежно сохраните токен бота — в будущем он понадобится для авторизации и работы с ботом.
Шаг 2. Подготовка необходимых компонентов
Переходим к подготовке необходимых компонентов. На вашем компьютере должен быть установлен Python и среда разработки (в нашем случае это PyCharm).
Установить Python на Windows 10 можно по нашей инструкции, а после скачать PyCharm с сайта разработчика и установить его.
В качестве библиотеки мы будем использовать pyTelegramBotAPI . Установить ее можно, с помощью следующей команды:
pip install pyTelegramBotAPI
Все необходимые компоненты установлены. Переходим к следующему шагу.
Шаг 3. Написание кода
В первую очередь подключите установленную библиотеку и уникальный токен, о котором мы говорили выше, а также импортируйте типы, которые потребуются для работы кнопок (о них расскажем немного позже).
import telebot
botTimeWeb = telebot.TeleBot(‘Уникальный токен’)
from telebot import types
Вместо Уникальный токен укажите токен, который вы получили при регистрации бота. Кавычки необходимо сохранить.
Теперь реализуем так называемые обработчики сообщений. Они отвечают за фильтрацию входящих сообщений бота и вызов указанной функции для этих сообщений.
С помощью кода ниже реализуйте команду /start , которая будет отвечать за запуск бота:
Разберем написанный выше код по порядку.
Первые две строчки объявляют метод обработки входящих сообщений. В нашем случае в качестве параметра передается команда /start .
Далее объявляется переменная first_mess , хранящая указанную строку. Она будет отображаться пользователю после вызова команды /start . Здесь также используется объект Message , необходимый для определения имени ( first_name ) и фамилии ( last_name ) пользователя.
Далее следуют 3 строчки кода, отвечающие за добавление кнопки, которая в будущем будет перенаправлять пользователя на следующее сообщение. Тип данной кнопки — Inline. Это значит, что такая кнопка будет отображаться прямо под сообщением. Для ее создания необходимо использовать метод InlineKeyboardButton . Параметр text отвечает за имя кнопки, а callback_data — за возвращаемую строку при нажатии. Второй параметр понадобится для реализации функционала кнопки.
И наконец, добавляется метод send_message , необходимый для отправки сообщения пользователю. У него указаны 4 параметра:
- message.chat.id отвечает за синхронизацию сообщения с чатом бота;
- first_mess передает ранее указанное сообщение;
- parse_mode необходим для указания режима разметки сообщений;
- reply_markup отвечает за добавление созданной кнопки.
Сейчас кнопка создана, но при ее нажатии ничего не происходит. Необходимо реализовать её функционал. Для этого используем следующий фрагмент кода:
В начале объявляется метод для обработки запросов обратного вызова. Выполняется проверка на соответствие строки, указанной после == и возвращенной после нажатия кнопки. Так как ранее мы указали значение параметра callback_data = ‘yes’ , то проверка пройдет успешно.
После проверки реализован функционал кнопки. Переменная second_mess хранит текст ответного сообщения. А далее описана реализация кнопки, которая хранит ссылку на сайт компании Timeweb Cloud.
Последним шагом будет указать боту на то, что обработка команды закончена. Для этого указываем команду answer_callback_query .
После всех методов необходимо добавить последнюю строчку, которая отвечает за непрерывное продолжение работы бота:
botTimeWeb.infinity_polling()
Бот создан. Сохраните файл с кодом и переходите к его запуску.
Шаг 4. Запуск бота
Откройте терминал и выполните запуск проекта:
python main.py
Теперь бот запущен, можно переходить в Telegram и тестировать его.
Для дополнительной безопасности и стабильности рекомендуется запускать бота на виртуальном сервере. Арендовать надежный облачный сервер можно на Timeweb Cloud .
Шаг 5. Тестирование бота
Откроем Telegram и перейдем к созданному боту, используя поиск и короткое имя, которое указывалось на первом шаге.
Для начала работы нажмем «Запустить» внизу экрана.
Бот обработает команду и выведет приветственное сообщение.
Для продолжения работы с ботом нажмем кнопку под сообщением.
Бот среагирует на нажатие кнопки и выведет следующее сообщение. Под ним также отображается кнопка, которая содержит ссылку на сайт компании. Проверим ее работоспособность.
В ответ на нажатие кнопки бот предложит перейти по ссылке. Нажимаем «Перейти» и переходим на сайт компании.
Заключение
Бот хрюндель в телеграмм команды
Большая аудитория
В Telegram более 400 миллионов активных пользователей. Всё больше и больше людей по всему миру переносят общение в этот мессенджер.
Кроссплатформенность
Telegram работает на огромном количестве платформ, в том числе в вебе. Это значит, что вы сможете связаться со своим клиентом везде.
Сообщения приходят быстрее, чем в любом другом мессенджере. Без задержек.
Без ограничений
Вы сможете делать рассылки подписчикам бота без ограничений — сколько угодно и когда угодно. Не нужно думать о 24-часовом окне, как в ФБ или WhatsApp.
Делать ботов быстро и просто
Достаточно всего три шага, чтобы создать бота для Telegram в Botmother.
Создайте первого простого бота из блоков и сохраните его.
Отправьте боту команду /start. Готово!
Используйте инструменты Botmother
Берите от конструктора все — сегментируйте аудиторию метками, делайте рассылки, настраивайте дополнительные сценарии с помощью событий, работайте с переменными, связывайте бота с другими приложениями специальными сервисами-коннекторами или запросами к API и многое другое.
Добавьте еще больше функций
Не хватает функций? Используйте продвинутый компонент «Нативный запрос» и реализуйте любой метод Telegram Bot API. Например, отправляйте сообщения в тихом режиме или пересылайте их из одного чата в другой.
Подключите другие платформы
Взаимодействуйте с клиентами через одного бота везде: в Telegram, ФБ, WhatsApp, Инсте, Viber, ВКонтакте или Одноклассниках. Если у вас уже есть готовый бот, и вы использовали основные компоненты при его создании, изменять или дорабатывать ничего не придется.
Источник: botmother.com
Как создать бота в Telegram без программирования
197110, Россия, Санкт-Петербург, а/я 144, ООО «Юми» +7 (812) 309-68-23
Среди неопытных пользователей существует мнение, что для создания бота в Telegram нужно быть опытным кодером и знать языки программирования. В некоторых случаях это действительно так. Но только тогда, когда бот должен иметь сложный функционал, которым его нельзя наделить при помощи конструктора. В остальных случаях можно обойтись специальными сервисами для создания Телеграм-ботов. Об этих инструментах мы сегодня и расскажем.
Регистрируем своего бота в BotFather
Перед созданием бота нужно зарегистрировать его в BotFather. Это делается для того, чтобы ваш бот мог работать в Telegram. BotFather ― это тоже бот, найти его просто, для этого кликните по данной ссылке, и мессенджер сам откроет с ним диалог. Нажмите внизу кнопку «Запустить».
В окне чата отобразятся все доступные команды. Нас интересует /newbot. Можете это ввести вручную или же кликнуть по соответствующей записи прямо в командном списке.
BotFather предложит вам выбрать имя для своего будущего бота. Вводим произвольное.
Затем необходимо придумать юзернейм боту. Он должен быть уникальным, так как в противном случае регистрация бота будет отклонена. В конце названия обязательно нужно указать приставку _bot.
После успешной регистрации BotFather пришлет вам сообщение с токеном, который нужно записать где-нибудь у себя и сохранить. В дальнейшем он нам понадобится.
Теперь переходим непосредственно к созданию самого бота.
Создаем бота с помощью ManyBot
ManyBot — это уникальная разработка в Telegram, которая позволяет пользователям без знаний языков программирования создавать собственные простые боты.
Запускаем ManyBot по ссылке выше и жмем на кнопку «Добавить нового бота».
Затем копируем ранее полученный нами токен в BotFather и вставляем в чат с ManyBot. Жмем на стрелочку отправки сообщения справа или Enter.
Теперь нужно написать маленький текст о том, что будет делать наш бот. В случае, если вы ничего писать не хотите, можно воспользоваться кнопкой «Пропустить».
Получаем сообщение от ManyBot о том, что бот создан и настроен.
Кликаем по ссылке с нашим ботом и жмем на кнопку «Запустить».
Сразу открывается окно, где отображается список команд, а внизу удобное меню для добавления функций в бот.
Кликаем по кнопке «Пользовательские команды» и затем «Создать команду».
Название команды указываем произвольное, но, чтобы потом было понятно, за что она отвечает. Перед командой обязательно указываем slash в виде /.
После написания команды жмем Enter или голубую стрелочку справа.
Теперь необходимо добавить то, что вы хотите, чтобы бот присылал пользователю в ответ на введенную команду. Например, какой-то текст или картинку, документ или аудиофайл.
Текст пишем в поле для этого или копируем откуда-нибудь, а для прикрепления файлов используем значок «Скрепка».
Изображение отправляется отдельно от текста.
Добавив всю нужную информацию для этой команды, воспользуйтесь кнопкой «Сохранить».
Таким образом можно создавать множество команд, и каждая из них будет отвечать за вывод конкретной информации в виде текста, фото, документов или файлов.
Однако вводить каждый раз вручную команды как-то неудобно, поэтому можно воспользоваться функцией создания графического меню в ManyBot. Для этого переходим вновь в раздел «Пользовательские команды» и жмем на кнопку «Настроить гл. меню».
Потом кликаем по кнопке «Добавить пункт меню».
Выбираем в меню созданную нами команду.
Вводим название пункта меню. Например, «О компании». Можно использовать эмоджи.
Жмем Enter или по стрелке справа. Видим сообщение, что команда была успешно добавлена в меню. Возвращаемся назад при помощи соответствующей кнопки (2 клика).
В меню теперь есть добавленная нами кнопка, за которой закреплена созданная команда. Попробуем на нее нажать и посмотреть, что получится.
При нажатии на кнопку присылается та информация, которая ранее отправлялась только при ручном вводе команды. Согласитесь, что так намного удобнее!
С помощью ManyBot можно также создавать опросы, делать рассылку по подписчикам, настраивать автопостинг в канал Telegram, смотреть статистику и т.д. Узнать подробнее обо всех функциях конструктора можно в самом боте, прокрутив меню до пунктов «Помощь» и «Инструкции». Кликайте по ним и изучайте все возможности инструмента.
Создаем бота с помощью BotMother
Это полноценный веб-конструктор, который позволяет создавать собственных Телеграм-ботов через понятный интерфейс в системе. Сначала здесь нужно зарегистрироваться. Затем мы оказываемся в личном кабинете, где нужно кликнуть по значку «Добавить».
Потом кликаем в открывшемся окне по значку «Пустой бот».
Чтобы подключить зарегистрированный нами ранее в BotFather бот, его необходимо сначала удалить из ManyBot. Делается это через команду /deletebot (ввод команды, выбор нужного бота, подтверждение удаления). Либо можно зарегистрировать второго бота и использовать токен от него, оставив первого нетронутым.