An open API service indexing awesome lists of open source software.

https://github.com/iwizard7/py_bot_boltun


https://github.com/iwizard7/py_bot_boltun

Last synced: 11 months ago
JSON representation

Awesome Lists containing this project

README

          

# Telegram Bot "Boltun"

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

---

## 📋 Функции

1. Сохранение сообщений участников группы в базу данных SQLite.
2. Просмотр количества сохраненных сообщений через веб-интерфейс.
3. Включение/отключение функции случайных ответов через веб-интерфейс.
4. Базовая авторизация для защиты веб-интерфейса.

---

## 🛠️ Требования

- Python 3.10+
- Установленные зависимости (см. ниже)
- Токен Telegram-бота (получается у [BotFather](https://t.me/BotFather))

---

## 📦 Установка

1. **Склонируйте репозиторий:**
```bash
git clone https://github.com/your-username/py_bot_boltun.git
cd py_bot_boltun
Создайте виртуальное окружение и активируйте его:
python3 -m venv venv
source venv/bin/activate # для Linux/MacOS
venv\Scripts\activate # для Windows
Установите зависимости:
pip install -r requirements.txt
Создайте файл .env для конфиденциальных данных:
BOT_ADMIN_USERNAME=admin
BOT_ADMIN_PASSWORD=securepassword123
BOT_TOKEN=your-telegram-bot-token
Создайте папку для HTML-шаблонов: Убедитесь, что файл templates/index.html находится в папке templates.
## 🚀 Запуск

1. Запустите Telegram-бота

```bash
python bot.py
```
2. Запустите веб-интерфейс
```bash
python web_interface.py
```
Веб-интерфейс будет доступен по адресу http://127.0.0.1:5000. Авторизация происходит с использованием логина и пароля из файла .env.

## 🗂️ Файловая структура
```bash
telegram_bot/
├── bot.py # Логика Telegram-бота
├── web_interface.py # Логика веб-интерфейса
├── templates/ # Папка с HTML-шаблонами
│ └── index.html # Основной HTML-шаблон
├── bot_data.db # База данных SQLite (создается автоматически)
├── .env # Файл с конфиденциальными данными (логин/пароль)
├── requirements.txt # Список зависимостей для установки
├── README.md # Описание проекта
```
## 🛡️ Управление процессами

Если вы хотите запустить бота и веб-интерфейс как фоновые процессы, используйте один из следующих методов:

С помощью nohup
```bash
nohup python bot.py > bot.log 2>&1 &
nohup python web_interface.py > web_interface.log 2>&1 &
```
С помощью systemd (Linux)
Создайте два сервиса (telegram_bot.service и telegram_web.service), чтобы процессы запускались автоматически при старте системы.

## 🧪 Тестирование

Добавьте бота в Telegram-группу.
Напишите несколько сообщений в группу.
Проверьте веб-интерфейс, чтобы убедиться, что сообщения сохраняются в базе данных.
Включите функцию случайных ответов в веб-интерфейсе и проверьте работу бота.
## 📝 Лицензия

Этот проект распространяется под лицензией MIT. См. LICENSE для деталей.

## 💬 Обратная связь

Если у вас есть вопросы или предложения, создайте issue или напишите на почту: your-email@example.com.