Как создать и запустить Telegram-бота на виртуальном хостинге с ISPmanager
Telegram-бот— это программа, работающая в Telegram и выполняющая автоматические действия: отвечает на сообщения, отправляет уведомления, обрабатывает команды и интегрируется с другими сервисами.
Для чего нужен Бот телеграм:
Telegram-бот нужен для автоматизации задач: общения с пользователями, получения информации, отправки уведомлений, выполнения команд и интеграции с другими сервисами.
1. Подготовка хостинга
1.1. Запросите активацию SSH
Напишите в поддержку вашего хостинга и попросите включить. После подтверждения продолжайте настройку.
1.2. Создайте сайт в ISPmanager
- Перейдите в ISPmanager → Сайты.
- Нажмите Создать сайт или выберите существующий.
- В настройках выберите:
- Обработчик: `Python`
- Выберите: версию Python:- 3.x (рекомендуется 3.8+)
- Режим работы: Web-сервер Python.
- Укажите доменное имя
Пример настроек как на скрине:
2. Установка Python-библиотек
2.1. Установите PIP
Как показано на скрине:
2.2. Подключитесь к серверу по SSH
Используйте SSH терминал как показано на примере:
Введите команду:
pip install python-telegram-bot
Так же Вы можете устанавливать пакет Python через ispmanager.
3. Создание бота в Telegram
1. Перейдите в Ваше Telegram приложение и найдите - @BotFather или ссылка на него - https://t.me/BotFather
2. Отправьте команду:
/newbot
3. Укажите имя бота (уникальный, должен заканчиваться на `_bot`).
4. BotFather выдаст вам токен, который понадобится в коде.
4. Загрузка и запуск кода
4.1. Создайте файл бота
Перейдите в менеджер файлов Вашего сайте, где вы делаете бота (пример):
Создайте файл bot.py с примером кода (например в корне сайта):
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters
TOKEN = "ВАШ_ТОКЕН_ОТ_BOTFATHER"
async def start(update: Update, context):
await update.message.reply_text("Привет! Я ваш бот.")
async def echo(update: Update, context):
await update.message.reply_text(update.message.text)
def main():
app = Application.builder().token(TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
print("Бот запущен...")
app.run_polling()
if __name__ == "__main__":
main()
Важно! Измените - TOKEN = "ВАШ_ТОКЕН_ОТ_BOTFATHER" - Токен который Вам предоставил @BotFather в прошлом пункте описано.
4.2. Запуск бота вручную
Войдите в SSH как было показано в пунтке 2.2 и введите команду:
python bot.py
Если бот отвечает на /start — всё работает!
Остановить бота можно командой Ctrl+X или Ctrl+C
Пример:
5. Автозапуск бота (если нет root-доступа)
Так как у вас виртуальный хостинг, Supervisor или systemd недоступны. Используем Cron.
5.1. Добавляем бота в Cron
Открываем редактор Cron:
Создайте задачу с командой как в примере:
/var/www/user_name/data/www/moisite.by/.venv/bin/python3.12 -q /var/www/user_name/data/www/moisite.by/bot.py
Важно! Измените user_name и moisite.by - на Ваши актуальные данные. Их можно увидеть в настройке сайта п.1.2.
Пример:
Готово! Теперь ваш бот работает на виртуальном хостинге ISPmanager.
Что дальше? Развитие Telegram-бота
1. Добавление новых команд — Реализуйте обработку `/help`, `/info` и других команд с полезной информацией.
2. База данных — Подключите SQLite, PostgreSQL или MySQL для хранения пользовательских данных.
3. Кнопки и меню — Используйте `InlineKeyboard` и `ReplyKeyboard` для удобного взаимодействия.
4. API и интеграции — Подключите платёжные системы, погоду, AI и другие сервисы.
5. Асинхронность — Оптимизируйте бота с `asyncio`, если он обрабатывает много запросов.
6. Логирование и мониторинг — Подключите логи, уведомления об ошибках (Sentry).
7. Хостинг и масштабирование — Если бот растёт, перенесите его на VPS/VDS или Docker.
Развивайте бота, добавляйте новые функции, и он станет полезным инструментом! Обратитесь к разработчикам для развития.