В статье расскажем, как создать телеграм-бота, а в качестве площадки для бота будем использовать облачный сервер от Timeweb Cloud.
Преимущества облачного сервера для Telegram-бота
- Быстрая регистрация и начало работы;
- Не нужно покупать домен, сервер имеет открытый IP-адрес;
- Нет привязки к какому-то одному языку программирования, легко можно запустить любой скрипт;
- Нет ограничения на ресурсы: бот не перестанет работать из-за превышения лимита трафика или процессорного времени контейнера;
- Стабильность: время бесперебойной работы облачного сервера не ниже 99,99%.
Регистрация бота
Чтобы бот заработал, его необходимо зарегистрировать в Telegram. За регистрацию отвечает BotFather .
Шаг 2. Нам нужно зарегистрировать нового бота, поэтому выбираем команду:
/newbot
Шаг 3. Теперь необходимо придумать имя нашего бота. Указываем что угодно, для примера напишем:
MyBotTest
Шаг 4. Следующий шаг – необходимо придумать логин. Обратите внимание, чтобы логин заканчивался на «bot» в любом его виде, либо «*Bot», либо «_bot»:
Как сделать телеграм бота бесплатно и быстро
Сложность этого шага заключается в том, чтобы найти свободный никнейм. Если такой логин занят, мы получим соответствующее извещение.
При успешной регистрации в ответ получим приветственное сообщение и ключ для HTTP-API. Сохраните ключ в надёжном месте.
Если потерялся сохранённый ключ, узнать его можно при помощи команды /token . Далее выберите бота, для которого нужен новый ключ. Заново создавать бота не потребуется.
Проверка и настройка бота
После завершения регистрации ищем бота в списке контактов. На текущий момент он ничего не умеет делать, просто прочитывает сообщения. С логикой работы разберёмся позже.
/mybots
В появившемся списке выберем нужного бота и посмотрим, что с ним можно сделать.
По названиям кнопок будет понятно, что можно изменить имя, описание (приветствие при первом подключении), загрузить аватар. Из этого меню можно указать список доступных команд для бота с их описанием. Сами команды работать будут только с использованием дополнительной логики, реализованной сторонними программами-клиентами.
Подготовка рабочего пространства
Для запуска бота нам понадобится рабочее пространство. В нашем случае мы будем использовать облачный сервер . Подойдёт даже самая простая конфигурация, а из операционных систем порекомендуем Ubuntu или Debian. Но отметим, ввиду того, что обновления для Debian выходят с большим опозданием, скорее всего, версии нужных пакетов не будут соответствовать минимальным требованиям программ-клиентов и придётся собирать нужную версию Python из исходников.
Выбор языка программирования
Самые распространённые боты написаны на языке Python. Установить Python на облачный сервер можно командой:
sudo apt-get install python3 python3-pip
После установки проверить версию:
python3 -V
Одной из последних версий является 3.11, но для работы нашего примера подойдёт и 3.7.
Установка python-telegram-bot
Для установки python-клиента достаточно написать в консоли:
pip3 install python-telegram-bot
По зависимостям будут установлены дополнительные пакеты, необходимые для работы python-telegram-bot . Чтобы не засорять систему, рекомендуется использовать виртуальное окружение. Эта возможность встроена в Python, быстро настраивается, не засоряет основную систему, а виртуальную среду со всем содержимым можно безболезненно удалить в будущем одной командой ( rm -rf ).
Создадим каталог для виртуального окружения, зайдём в него и установим копию Python:
mkdir bot_env cd bot_env
python3 -m venv venv
Активируем виртуальное окружение:
source venv/bin/activate
После успешной активации перед строкой для ввода команд появится venv . Теперь установим клиент:
pip install python-telegram-bot
Деактивировать виртуальное окружение можно, набрав:
deactivate
Предусмотрена возможность запускать скрипты без его явной активации, в таком случае необходимо набирать полный путь, вместо python3 .
При деактивированном окружении в нашем примере набираем:
/root/bot_env/venv/bin/python3
Примеры ботов
Примеры ботов можно найти на этой странице . Для демонстрации работы используем пример echobot.py , сохраните его в домашнюю папку (по умолчанию это /root ). Если используется виртуальное окружение, директория будет /root/bot_env . Необходимо в 67 строке заменить слово TOKEN на ключ, полученный при регистрации.
Загрузить пример можно сначала на свой компьютер, отредактировать файл и загрузить через файловый менеджер, например WinSCP.
Запустить пример можно, набрав в консоли:
python3 echobot.py
После успешного запуска в ответ получим:
telegram.ext._application — INFO — Application started
Тестирование бота
Если всё сделали верно, в ответ получим приветствие с вашим именем и ссылкой на профиль. При дальнейшем общении бот будет отправлять сообщения с полученным текстом.
echobot.py – самый простой демонстрационный бот. На странице примеров python-telegram-bot есть более сложные рабочие заготовки, которые можно сразу опробовать и применить для своих нужд с минимальными правками.
Запуск бота как службы
Чтобы бот автоматически запускался при загрузке системы, создадим свою службу в Systemd. Systemd доступен в новых версиях Ubuntu и в Debian версии 8.
Если не использовалось виртуальное окружение, нам потребуется полный путь к Python. Узнать, где он установлен, можно командой:
which python3
В ответ получим строку вида:
/usr/local/bin/python3
Перейдём в каталог Systemd:
- в Debian: /usr/lib/systemd/system/
- Ubuntu: /lib/systemd/system/
И создадим файл bot.service :
[Unit]
Description=My Python Bot
After=network.target network-online.target
[Service]
Type=simple
User=root
Group=root
Restart=on-failure
ExecStartPre=/bin/mkdir -p /var/run/bot
PIDFile=/var/run/bot/service.pid
ExecStart=
[Install]
WantedBy=multi-user.target
Возможные значения ExecStart :
- без venv : ExecStart=/usr/local/bin/python3 /root/echobot.py
- в venv : ExecStart=/root/bot_env/venv/bin/python3 /root/bot_env/echobot.py
Сохраняем файл, выставляем разрешения не ниже 644, перезагружаем Systemd:
systemctl daemon-reload
Добавляем службу бота в автозагрузку:
systemctl enable bot.service
Проверить состояние службы можно командой:
systemctl status bot
В ответ получим информацию о службе. Нас интересуют 2 пунка:
Loaded: loaded
Active: inactive
Служба добавлена ( loaded ), но не запущена ( inactive ), запустить её можно, перезагрузив облачный сервер или выполнив команду:
systemctl start bot
Ещё раз проверяем состояние службы, значение «Active» должно стать active (running) и быть зелёного цвета.
Другие скрипты-клиенты
Представленный пример на Python представлен как самый простой. Telegram – достаточно популярный, существуют клиентские программы, написанные на разных языках: Java, PHP, NodeJS и прочее. Все имеют готовые примеры для подключения и получения сообщений, нужную логику работы реализует сам пользователь.
В сети можно найти разные готовые скрипты викторин, опросников или прочих развлечений.
Зачем нужны боты для Telegram
Подобно голосовому меню мобильных операторов, боты могут решать большинство простых задач без привлечения человека: отвечать на заранее известные вопросы; отслеживать заказы; проводить опросы и даже бронировать места в различных заведениях.
В Интернете есть множество готовых типичных решений, которые помогут быстро начать разработку логики работы на любом понятном языке программирования. Если вы не обладаете знаниями программиста, простую логику работы можно собрать на специальных конструкторах.
Боты могут не только отвечать на заранее настроенные вопросы. Сложные клиентские программы могут использовать машинное обучение, которое анализирует введённый текст и совершает нужное действие.
Некоторые программы-клиенты поддерживают не только текстовый ввод, они принимают звонки или проигрывают музыку.
Надеемся, что информация была полезной. Попробуйте самостоятельно запустить бота, для этого потребуются только желание и 10 минут свободного времени.
Источник: timeweb.cloud
Популярные конструкторы ботов в Телеграм: создаем бота легко и без проблем
Боты в мессенджере Telegram становятся все более популярными и число их пользователей постоянно растет. В связи с этим, появляется все больше различных конструкторов, которые позволяют без наличия специальных знаний и навыков создать своего робота всего в несколько кликов. Сегодня конструктор ботов telegram позволяет создать программу, которая справится с любыми задачами. Именно о конструкторах ботов мы и поговорим сегодня. Вы узнаете: что это и зачем их используют, какие бывают и многое другое.
Для чего нужны конструкторы?
Для начала давайте разберемся, что есть конструктор. Конструктором называется специальный софт (программа), предназначенный для быстрого создания ботов без знания каких-либо языков программирования. Иными словами, весь процесс создания – это нажатие тех или иных кнопок и ввода текста (например, название кнопки, текст сообщения и т.д.).
Первое предназначение – упрощение работы. Ведь не все мы обладаем знаниями и навыками программирования. Когда боты только появились, ими могли пользоваться лишь программисты, которые умели их создавать. Простому пользователю такая возможность была доступна только в случае, если кто-то из разработчиков поделиться своей работой.
Сейчас же каждый пользователь Телеграм (даже не самый опытный) может создать своего робота-помощника, настроить его, задать ему алгоритмы действий и пустить в работу. И все это, еще раз повторим, без знания каких-либо языков программирования. Помимо упрощения работы, конструкторы призваны экономить наше с вами время. То время, которое тратиться на ручное создание ботов.
И порой даже программисты используют тот или иной конструктор. Ведь они проще и быстрее. Особенно это относится к случаям, когда необходимо выполнять простые задачи. Да, у конструкторов есть некоторые ограничения – вы не сможете выйти за рамки возможностей самого конструктора. Но если тех функций, которые вам предлагаются, достаточно, то почему бы и не воспользоваться ими?
Ведь это экономит время и позволит избежать ошибок, которые можно допустить при написании кода. Ну и напоследок стоит отметить, что порой конструкторы умеют делать то, чего не можете сделать вы сами. Например, вы не знаете, как заставить бота парсить новости с внешних ресурсов, а затем постить их в Телеграм. Но в конструкторе есть такая возможность, и тогда гораздо проще создать бота в нем.
Каких ботов можно создавать в конструкторах?
Ответ на этот вопрос зависит от того, какой конструктор вы используете. Как правило, каждый конструктор предназначен для создания ботов определенной направленности. Например, для бизнес тематики, для игр, для получения обратной связи и т.д. Условно всех ботов можно поделить на четыре группы:
- Чат-боты;
- Боты-информаторы;
- Игровые боты;
- Боты-ассистенты.
Первые предназначены для создания активности в группе и поддерживания разговора с собеседниками. При качественной настройке такого бота, люди даже не поймут, что общаются с роботом.
Вторые предназначены для информирования аудитории. Постинг новостей, ответы на те или иные вопросы и многое другое.
Третьи – для развлечения. Ими пользуются, чтобы поиграть в игры, которые в них заложены. Существуют даже боты, в которых можно сыграть на реальные деньги.
И последние, четвертые, предназначены для помощи администрации в выполнении тех или иных задач. Чаще их заставляют выполнять рутинную работу.
Какие бывают конструкторы?
Многие, кто работает с ботами, задаются вопросом, какие бывают конструкторы?
Условно их всех можно поделить на две группы:
- Находящиеся внутри самого Telegram;
- Софт, расположенный на внешних ресурсах.
Говоря о первых, они представляют собой уже готовых ботов, которые способны создавать других ботов. Плюсы таких конструкторов в том, что они всегда бесплатные и просты в освоении.
Вторые – чаще всего представляют собой онлайн-сервис или софт, который необходимо скачивать и т.д. То есть, создание происходит вне мессенджера.
Ниже мы подробно рассмотри наиболее популярные конструкторы.
Один из наиболее популярных конструкторов внутри мессенджера Телеграм. Он полностью бесплатный, а главное простой в использовании.
Его интерфейс поддерживает два языка: русский и английский.
Что умеют роботы, созданные на данном конструкторе:
- Отправка сообщений;
- Создание меню;
- Автопостинг из VK, Twitter, YouTube или RSS.
Наиболее часто ManyBot используют именно для создания автопостинга.
Например, мы вписали «/autoposting» и выбрали социальную сеть ВКонтакте, ввели ссылку паблика и запустили автопостинг. Теперь все, что будет опубликовано там, автоматически опубликуется в Телеграм.
Так же не забудьте добавить бота в нужный чат/канал, чтобы он начал свою работу.
Aimylogic.com
Мощный конструктор чат-ботов, с помощью которого можно создать себе умного помощника с искусственным интеллектом. Получившиеся боты будут не только общаться в чатах с клиентами, напоминая о брошенных товарах в корзине и новых акциях, но и обзванивать их, понимать речь (все благодаря системе IVR ).
В чем еще выгода использования Aimylogic :
- Снижение расходов на привлечение клиентов;
- Уменьшение времени на обслуживание;
- Рост продаж;
- Уменьшение процента возвратов;
- Обнаружение слабых звеньев в структуре бизнеса, и устранение их через сбор данных о конкурентах.
Flow XO
Еще один довольно популярный онлайн-сервис, позволяющий создавать чат-ботов для более чем 90 сервисов, в числе которых есть Telegram.
Ценообразование здесь гибкое и вы сможете выбрать тот или иной инструмент и добавить его.
Для начала вам предлагается приобрести стандартный план за 19 долларов в месяц. Он имеет 15 ботов и 5000 взаимодействий (например, получение сообщения считается одним взаимодействием, независимо от количества сообщений и действий ответ). Если вам необходимо приобрести больше ботов, то вы можете купить еще 5 штук за $ 10, а также можно приобрести дополнительно 25000 взаимодействий за $ 25.
Есть также и пробный бесплатный период, действующий 2 недели и имеющий 500 взаимодействий и 5 ботов.
Итак, как воспользоваться услугами данного софта:
- Зайдите на сайт и нажмите на кнопку «Start for free».
- Пройдите стандартную регистрацию.
- Далее вы попадете в свой личный кабинет. Справа во вкладке «Bots» можно создать нового бота для Телеграм (выбрав мессенджер из предложенного списка).
- Далее вы сможете более детально настроить бота.
Настроив его более детально, вы сможете создать полноценного собеседника.
Еще один внутренний конструктор для ботов в Телеграм. С его помощью вы сможете создать робота для обратной связи.
Чтобы им воспользоваться, необходимо:
Настройка осуществляется довольно просто. Под последним сообщением будет кнопка «Настроить бот», нажмите ее и выберите один из пунктов, который хотите настроить.