Как создать и запустить Telegram бота

Для настройки Telegram-бота необходимо выполнить следующие шаги:

  1. Настроить SSH-подключение к серверу
  2. Настроить SFTP для передачи файлов
  3. Создать Telegram-бота
  4. Запустить бота в Docker-контейнере

1. SSH-подключение

Реквизиты доступа к серверу высылаются на email. Используйте любой SSH-клиент (например, cmd, PuTTY, xShell).

Для подключения выполните команду:

ssh root@IP-сервера

Примите ключ и введите пароль. Обратите внимание — в Linux при вводе пароля символы не отображаются.

Если отображается приветствие — подключение выполнено успешно.

2. SFTP

Для передачи файлов используйте FileZilla.

  • Хост: sftp://IP_сервера
  • Логин: root
  • Пароль: пароль сервера
  • Порт: 22

3. Создание Telegram-бота

Откройте Telegram и найдите BotFather.

https://telegram.me/BotFather

Используйте команду:

/newbot

Введите имя и username бота (должен заканчиваться на _bot). После создания сохраните токен.

4. Запуск бота в Docker

Создайте директорию проекта и добавьте файл бота:

mkdir /root/telegrambottemplate
cd /root/telegrambottemplate

Пример Python-скрипта:

import telebot
BOT_TOKEN = 'YOUR_BOT_TOKEN'
bot = telebot.TeleBot(BOT_TOKEN)

@bot.message_handler(commands=['start'])
def handle_start(message):
    bot.send_message(message.chat.id, "Привет, я ваш Telegram-бот!")

@bot.message_handler(func=lambda message: True)
def handle_text(message):
    bot.send_message(message.chat.id, f"Вы написали: {message.text}")

bot.polling(none_stop=True)

Создайте файл Dockerfile:

FROM python:3.8
RUN pip install pyTelegramBotAPI
COPY telegram_bot.py /app/telegram_bot.py
CMD ["python", "/app/telegram_bot.py"]

Сборка Docker-образа:

docker build -t my-telegram-bot .

Запуск контейнера:

docker run -d my-telegram-bot

Проверка контейнера:

docker ps -a
Если статус контейнера "UP" — бот успешно запущен.

Проверьте работу бота в Telegram, отправив команду /start.

Просмотр логов

docker logs ID

Где ID — идентификатор контейнера.

Пересборка контейнера

docker stop ID
docker rm ID
cd /root/telegrambottemplate
docker build -t my-telegram-bot .
docker run -d my-telegram-bot

Дополнительная документация:

https://docs.docker.com/
Docker позволяет запускать несколько проектов на одном сервере изолированно и безопасно.
Вопросы и ответы
Токен выдает BotFather после создания нового бота через команду /newbot.
Нет, бот можно запускать напрямую, но Docker упрощает управление и изоляцию проекта.
Проверьте правильность токена, статус контейнера и наличие ошибок в логах через docker logs.
Рекомендуемые статьи
Как создать пользователя в VestaCP
Как создать базу данных в VestaCP
Как создать новую БД в ISPmanager