Запускаем Telegram-бота для учёта подписчиков

Делаю Telegram‑ботов и Mini Apps, которые приносят заявки, продажи и порядок в процессах. Пишу пошаговые гайды, делюсь архитектурой, безопасностью и метриками, чтобы ваш бот был не «кнопочкой», а рабочим инструментом. Если нужен бот под задачу — помогу с логикой, оплатами, интеграциями и запуском.

telegram-ботvpsssh

Друзья, начинаем небольшую практическую серию постов, где мы вместе с вами развернём собственного Telegram-бота для канала.

Бот будет помогать админу отслеживать события в канале:

  • ✅ кто подписался
  • ✅ кто отписался
  • ✅ когда это произошло
  • ✅ отправлять уведомления админу в личные сообщения

То есть у нас будет не просто общая статистика, а нормальные уведомления по действиям пользователей.

Что будет в этой серии?

Всего сделаем 3 этапа:

  1. Арендуем VPS и сделаем базовую защиту сервера
  2. Разместим код бота на сервере и подготовим окружение
  3. Настроим .env и полноценно запустим бота

Сегодня первый этап - берём VPS, подключаемся к нему и сразу закрываем базовые вопросы безопасности.

Зачем нам VPS?

Бота можно запустить и на своём компьютере, но это плохой вариант для постоянной работы. Если компьютер выключился, интернет пропал или вы закрыли терминал - бот перестал работать.
Поэтому нам нужен VPS - это удалённый сервер, который работает 24/7.
На нём бот будет постоянно находиться онлайн и отслеживать подписки/отписки в канале.

Где взять VPS?

Я сам хостюсь на SmartApe, у меня там всё работает нормально, поэтому можете взять сервер там по моей ссылке
Но это не обязательное условие.
Если у вас уже есть другой VPS или вы хотите выбрать другого провайдера - без проблем, подойдёт любой сервер с Ubuntu/Debian и SSH-доступом.
Для нашего бота хватит минимального тарифа:

Ubuntu 22.04 или 24.04, 1 CPU, 1 GB RAM, 10–20 GB SSD, доступ по SSH

Мощный сервер для такого бота не нужен.

Что должно быть после аренды VPS?

После покупки сервера у вас должны быть:

  • 🔹IP-адрес сервера
  • 🔹логин, чаще всего root
  • 🔹пароль от сервера или SSH-ключ
  • 🔹установленная система Ubuntu/Debian

⌨️ Подключаемся к серверу

Открываем терминал (Win + R в открывшемся окне cmd) и вводим команду:

ssh root@123.45.67.89

Вместо 123.45.67.89 подставьте IP-адрес вашего сервера.
Дальше нажимаем Enter и вводим пароль от сервера.
После этого вы попадёте внутрь сервера.

🔐Базовая защита VPS

Прежде чем размещать бота, сразу сделаем минимальную защиту сервера.

1️⃣ Установка и настройка UFW

🔹Сначала обновим пакеты и установим файрвол:

sudo apt update
sudo apt install ufw

Теперь обязательно разрешаем SSH-доступ.
🔹Важно сделать это до включения файрвола, иначе можно случайно потерять доступ к серверу.

sudo ufw allow 22/tcp

Если вы используете нестандартный SSH-порт, замените 22 на свой номер порта.
🔹Теперь включаем файрвол:

sudo ufw enable

🔹 Проверить статус правил можно командой:

sudo ufw status verbose

Если всё сделали правильно, SSH-доступ будет разрешён, а файрвол будет активен.

2️⃣ Установка и настройка Fail2ban

Ставим защиту от перебора паролей:

sudo apt install fail2ban

Fail2ban работает через конфигурационные файлы.
Сначала скопируем дефолтный конфиг в локальный файл:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Открываем файл настроек:

sudo nano /etc/fail2ban/jail.local

Найдите секцию [sshd] и приведите её к такому виду:

[sshd]
enabled  = true
port     = ssh
logpath  = %(sshd_log)s
maxretry = 3
bantime  = 3600

В nano это делается так:

Ctrl + O
Enter
Ctrl + X

Теперь перезапускаем fail2ban:

sudo systemctl restart fail2ban

3️⃣ Проверяем работу защиты

Чтобы убедиться, что fail2ban работает и отслеживает SSH, используем командду:

sudo fail2ban-client status sshd

Если всё настроено корректно, вы увидите статус защиты для SSH.

Что сделали сегодня?

Сегодня мы:

  • ✅ выбрали и арендовали VPS
  • ✅ подключились к серверу по SSH
  • ✅ обновили пакеты
  • ✅ установили и включили файрвол ufw
  • ✅ разрешили SSH-доступ
  • ✅ установили fail2ban
  • ✅ включили защиту от перебора паролей

Теперь у нас есть сервер, который уже готов к следующему этапу.
В следующем посте будем размещать код нашего Telegram-бота на VPS, устанавливать зависимости и готовить проект к запуску.

Продолжаем 🔥

Портрет автора на обложке: молодой мужчина в рубашке на фоне интерфейса с иконками VPS, SSH, UFW и Fail2ban, заголовок о запуске бота.
Обложка серии: запуск Telegram‑бота, VPS, SSH и базовая защита (ufw, fail2ban).

Дискуссия

Святослав | Разработка Telegram-ботов
Елена
Супер 🙌
💙 Благодарю! Заходите в гости → @svyatoslav_devbot.
🩷
жду следующего поста
Святослав | Разработка Telegram-ботов
🩷
жду следующего поста
Рады, что вы следите за контентом. Уже готовим материал, который будет полезен для автоматизации. Кстати, какое направление автоматизации вас интересует больше всего — заявки с сайта или обработка клиентов?
Ви
Жду жду жду
Святослав | Разработка Telegram-ботов
Ви
Жду жду жду
Понял вас, ожидание — не всегда приятно. Могу уточнить: вы хотите автоматизировать приём заявок в своём бизнесе или создаёте контент-бота для канала?
Арина Никулина
Интересно, жду продолжения)
Святослав | Разработка Telegram-ботов
Арина Никулина
Интересно, жду продолжения)
Рад, что откликается! У вас уже есть идея, под какой проект или бизнес хотите бота? Расскажите в двух словах, чтобы я понимал, в какую сторону копать.
Галина Галина🧚
Очень интересно! Жду продолжения!
𝑺𝒊𝒓𝒂
Интересно
yanochka
Святослав | Разработка Telegram-ботов
Рад, что вам нравится контент! Тематика полезная, будем чаще радовать. А что именно вас интересует — боты для заявок или для контента?
Для контента
Присоединиться к обсуждению →

Читайте так же