База знаний (wiki)

Онлайн бибилиотека с инструкциями по использованию и настройке хостинговых услуг

Loading...

Как создать и запустить Telegram-бота на виртуальном хостинге с ISPmanager

Loading...
1

Telegram-бот— это программа, работающая в Telegram и выполняющая автоматические действия: отвечает на сообщения, отправляет уведомления, обрабатывает команды и интегрируется с другими сервисами.

Для чего нужен Бот телеграм:

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

 

1. Подготовка хостинга

 

1.1. Запросите активацию SSH

Напишите в поддержку вашего хостинга и попросите включить.  После подтверждения продолжайте настройку.

1.2. Создайте сайт в ISPmanager

- Перейдите в ISPmanager → Сайты.
- Нажмите Создать сайт или выберите существующий.
- В настройках выберите:
- Обработчик: `Python`
- Выберите: версию Python:-  3.x (рекомендуется 3.8+)
- Режим работы: Web-сервер Python.
- Укажите доменное имя

 

Пример настроек как на скрине:

virtual host bot telegram 01

 

2. Установка Python-библиотек

 

2.1. Установите PIP

Как показано на скрине:

virtual host bot telegram 02

 

 

2.2. Подключитесь к серверу по SSH


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

 

Введите команду:

pip install python-telegram-bot

 

Так же Вы можете устанавливать пакет Python через ispmanager.

virtual host bot telegram 06 virtual host bot telegram 07

 

 

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

Пример:

 virtual host bot telegram 03

 

5. Автозапуск бота (если нет root-доступа)

Так как у вас виртуальный хостинг, Supervisor или systemd недоступны. Используем Cron.

5.1. Добавляем бота в Cron

Открываем редактор Cron:

virtual host bot telegram 04

 

Создайте задачу с командой как в примере:

/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.

Пример:

virtual host bot telegram 05

 

Готово! Теперь ваш бот работает на виртуальном хостинге ISPmanager.

 

Что дальше? Развитие Telegram-бота

1. Добавление новых команд — Реализуйте обработку `/help`, `/info` и других команд с полезной информацией.
2. База данных — Подключите SQLite, PostgreSQL или MySQL для хранения пользовательских данных.
3. Кнопки и меню — Используйте `InlineKeyboard` и `ReplyKeyboard` для удобного взаимодействия.
4. API и интеграции — Подключите платёжные системы, погоду, AI и другие сервисы.
5. Асинхронность — Оптимизируйте бота с `asyncio`, если он обрабатывает много запросов.
6. Логирование и мониторинг — Подключите логи, уведомления об ошибках (Sentry).
7. Хостинг и масштабирование — Если бот растёт, перенесите его на VPS/VDS или Docker.

Развивайте бота, добавляйте новые функции, и он станет полезным инструментом! Обратитесь к разработчикам для развития.

 

 

 

Опубликовано 1 месяц назад
#17158 просмотрыОтредактировано 1 месяц назад