Telegram-боты — это удобный инструмент автоматизации, общения с пользователями и выполнения множества задач. В этой статье мы разберем, как создать простого Telegram-бота на Python, разместить его на хостинге Beget и обеспечить его стабильную работу.
Шаг 1. Создание бота в Telegram
- Найти BotFather
Откройте Telegram и найдите бота @BotFather. Это официальный инструмент для создания и управления ботами. - Создать нового бота
Введите команду/newbot
и следуйте инструкциям:- Укажите имя вашего бота (например,
MyTestBot
). - Укажите уникальное имя пользователя для бота, которое должно заканчиваться на
bot
(например,my_test_bot
).
- Укажите имя вашего бота (например,
- Получить токен
После создания бота BotFather выдаст вам токен, который выглядит примерно так:
123456789:ABCDefGhIJKlmNoPQrstUVwxyZ12345
Сохраните его — он понадобится для работы.
Шаг 2. Установка Python и библиотек
Для разработки бота мы будем использовать Python и библиотеку python-telegram-bot
.
- Убедитесь, что Python установлен на вашем компьютере. Скачать последнюю версию можно с официального сайта Python.
- Установите библиотеку
python-telegram-bot
с помощью команды:
pip install python-telegram-bot
Шаг 3. Написание кода бота
Создадим простого бота, который отвечает «Привет!» на любое сообщение.
- Создайте файл
bot.py
и вставьте следующий код:
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, filters# Функция обработки команды /start
async def start(update: Update, context):
await update.message.reply_text(«Привет! Я ваш Telegram-бот!»)# Функция обработки текстовых сообщений
async def echo(update: Update, context):
await update.message.reply_text(f»Вы сказали: {update.message.text}»)if __name__ == «__main__»:
# Инициализация бота
app = ApplicationBuilder().token(«ВАШ_ТОКЕН»).build()# Добавление обработчиков
app.add_handler(CommandHandler(«start», start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))# Запуск бота
print(«Бот запущен!»)
app.run_polling()
- Замените
ВАШ_ТОКЕН
на токен, выданный BotFather. - Запустите бота локально для проверки:
python bot.py
Если ошибок нет, бот готов к развертыванию.
Шаг 4. Подготовка хостинга Beget
Хостинг Beget поддерживает Python через CGI или FastCGI. Для работы бота потребуется версия Python 3 и возможность установки библиотек через виртуальное окружение.
Подготовка окружения на Beget
- Авторизация в панели управления
Зайдите в панель управления Beget и выберите ваш тариф. - Создайте папку для бота
Через файловый менеджер или FTP создайте папку, например,telegram_bot
. - Настройка Python-окружения
Подключитесь к хостингу через SSH. Для этого используйте любой SSH-клиент (например, PuTTY или встроенный терминал Linux/Mac). Команда для подключения:
ssh username@hostname
Замените username
и hostname
на данные из панели управления Beget.
4. Создайте виртуальное окружение
Перейдите в папку вашего бота:
cd telegram_bot
Создайте виртуальное окружение:
python3 -m venv venv
Активируйте его:
source venv/bin/activate
5. Установите зависимости
В активированном окружении установите библиотеку python-telegram-bot
:
pip install python-telegram-bot
Шаг 5. Размещение бота
Загрузка файлов на сервер
- Загрузите файлы бота
Через FTP или SSH загрузите файлbot.py
в папкуtelegram_bot
на сервер. - Создайте файл запуска (например,
run_bot.sh
)
Этот файл будет запускать бота. Создайте его в папкеtelegram_bot
:
nano run_bot.sh
Вставьте в него:
#!/bin/bash
source venv/bin/activate
python bot.py
Сохраните файл и сделайте его исполняемым:
chmod +x run_bot.sh
Шаг 6. Настройка автоматического запуска
На Beget можно настроить автоматический запуск бота через CRON.
- Откройте планировщик задач
В панели управления Beget перейдите в раздел «Планировщик задач». - Добавьте задачу запуска
Укажите команду для запуска бота:
/path/to/telegram_bot/run_bot.sh
Настройте выполнение задачи каждые 5 минут. Это нужно для того, чтобы бот автоматически запускался в случае сбоя.
Шаг 7. Тестирование и отладка
- Убедитесь, что бот работает, отправив ему сообщение в Telegram.
- Если бот не запускается, проверьте логи в панели Beget или через SSH.
Заключение
Теперь ваш Telegram-бот успешно работает на хостинге Beget! Вы научились создавать бота, писать для него код на Python, настраивать хостинг и автоматический запуск. На основе этого примера вы можете развивать своего бота, добавляя новые функции, такие как кнопки, обработка API и многое другое.