Размещение Telegram-бота на сервере

Telegram-бот - это программа, которая запускается на сервере. Она выполняет функцию управления бот-аккаунтом в Telegram и способна автоматически отвечать на сообщения, выполнять команды и предоставлять различные функции внутри мессенджера. Данный функционал может быть полезен в самых разных направлениях, начиная от простого функционала и заканчивая сложными ботами с множеством функций.

Инструкция ниже поможет запустить в работу пример бота, который будет отвечать на сообщения в Telegram. Дальнейшая разработка бота индивидуальна и зависит от направления бота и необходимых функций. В рамках данной инструкции рассматривается вариант бота, написанного на языке программирования Python, но доступны и другие.

Внимание! Для запуска бота необходим аккаунт в Telegram, а так же сервер с ОС Linux, в инструкции в виде примера будет использоваться ОС Ubuntu 20.04.

Прежде чем создавать бота - необходимо создать его в рамках Telegram. Для этого необходимо открыть бота @BotFather и выполнить команду "/newbot". Далее необходимо следовать инструкциям бота, указав имя нового бота. В результате будет предоставлен токен бота - его необходимо надежно сохранить для использования в дальнейшем.

bot_create

Далее необходимо авторизоваться на сервере с помощью SSH и выполнить команды "apt-update", "apt install python3-pip", "pip3 install python-telegram-bot" и "pip install pyTelegramBotAPI". На данном этапе будет установлено все необходимое ПО и библиотеки для запуска бота на сервере.

bot_install

Для запуска бота осталось только создать скрипт, который будет выполнять необходимый функционал. Его можно редактировать по собственному усмотрению, в зависимости от необходимых функций. Для примера ниже предоставлен базовый скрипт, который будет отправлять ответ при запуске бота. Для создания скрипта необходимо ввести команду "nano bot.py", вставить скрипт ниже правой кнопкой мыши и нажать сочетание клавиш Ctrl + X и после кнопку Y для сохранения результата.

import telebot

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start']) def start(message): bot.send_message(message.chat.id, 'Привет!')

bot.polling()

Важно! Значение "TOKEN" в данном скрипте необходимо заменить на токен созданного бота, полученный ранее.

После необходимо запустить бота командой "python3 bot.py". Бот должен запуститься и теперь можно открыть чат с новосозданным ботом и ввести команду "/start" в чат, в результате будет получен ответ "Привет!".

При желании можно выполнить настройку автозапуска бота при загрузке сервера. Для этого нужно выполнить команду "nano /etc/systemd/system/bot.service" и вставить туда текст, указанный ниже, по примеру ранее. После сохранения файла необходимо выполнить команды "systemctl daemon-reload" и "service bot start". После этого бот будет включен и будет работать в фоне и после перезагрузки сервера.

[Unit] Description=Telegram bot

[Service] Type=simple ExecStart=/usr/bin/python3 /root/bot.py Restart=always

[Install] WantedBy=multi-user.target

В результате будет готов полностью работоспособный Telegram-бот, функционал которого можно расширить, добавив новые команды и функции при необходимости!