Как создать и запустить Telegram бота
Для настройки Telegram-бота необходимо выполнить следующие шаги:
- Настроить SSH-подключение к серверу
- Настроить SFTP для передачи файлов
- Создать Telegram-бота
- Запустить бота в 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
Проверьте работу бота в 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/