Skip to content

Repository files navigation

Anti‑Spam Telegram Bot — Полное руководство по установке и запуску

Этот документ написан так, чтобы даже человек без опыта в Linux смог запустить проект.


📦 Что делает бот

Бот для групп Telegram, который:

  • фильтрует запрещённые слова,
  • требует капчу для новых пользователей,
  • ведёт логи нарушений,
  • хранит настройки каждой группы в базе данных,
  • работает на Aiogram 3 + Async SQLAlchemy,
  • поддерживает запуск как systemd‑служба.

🖥 Требования сервера

Минимально:

  • Linux (рекомендовано: Ubuntu/Debian/Mint)
  • RAM: 256 MB+
  • Python ≥ 3.10
  • Интернет
  • Доступ к Telegram API

1. 🐍 Установка Python

Проверка версии

python3 --version

Если Python <3.10 — ставим:

Ubuntu / Mint / Debian:

sudo apt update
sudo apt install python3 python3-venv python3-pip -y

Проверяем снова:

python3 --version

2. 📁 Установка проекта

Клонируем репозиторий:

git clone https://github.com/memgraal/Admin-Telegram-Bot.git
cd Anti-Spam-Bot

3. 🔐 Создание .env

В проекте есть шаблон:

.env.template

Создаём реальный файл:

cp .env.template .env

Открываем для заполнения:

nano .env

Заполняем:

BOT_TOKEN=ваш_токен_бота
DB_URL=sqlite+aiosqlite:///database.db

Сохранение в nano: CTRL + O → ENTER → CTRL + X


4. 🧩 Создание виртуального окружения

python3 -m venv .venv
source .venv/bin/activate

Проверяем:

which python

5. 📦 Установка зависимостей

pip install --upgrade pip wheel
pip install -r requirements.txt

6. 🏃 Запуск вручную (первый тест)

source .venv/bin/activate
python main.py

Если бот не упал — отлично.


7. 🗃 Автозапуск через systemd

Создаём сервис:

sudo nano /etc/systemd/system/telegram-bot.service

Вставляем:

[Unit]
Description=Telegram Anti-Spam Bot
After=network.target

[Service]
Type=simple
User=%i
WorkingDirectory=/home/%i/Anti-Spam-Bot
Environment="BOT_ENV=production"
ExecStart=/home/%i/Anti-Spam-Bot/.venv/bin/python main.py
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

%i заменяем на имя пользователя

Применяем:

sudo systemctl daemon-reload
sudo systemctl enable telegram-bot
sudo systemctl start telegram-bot

Проверка статуса:

systemctl status telegram-bot

Логи сервиса:

journalctl -u telegram-bot -f

8. 🗃 Обновление версии на сервере

cd Anti-Spam-Bot
git pull
source .venv/bin/activate
pip install -r requirements.txt
sudo systemctl restart telegram-bot

9. 🧹 Очистка логов

journalctl --vacuum-size=50M

🎯 Итог

После выполнения всех шагов бот: ✔ работает в фоне ✔ перезапускается при ошибках ✔ не требует ручного запуска ✔ переживает обновления системы ✔ стартует после ребута сервера

About

Telegram bot for filtering incoming comments in telegram channel

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages