Skip to content

mool32/matsav_ok_bot

Repository files navigation

🤖 Telegram-бот "Мацав Тов"

Бот для поддержки людей в сложные времена через добрые, человечные фразы

данные для не оптимизировнаной версии!!

📌 Описание

"Мацав Тов" (מצב טוב - "хорошее состояние") - это Telegram-бот, который:

  • Отправляет случайные поддерживающие фразы пользователям
  • Собирает добрые слова от сообщества
  • Автоматически рассылает "порции тепла" 4 раза в день
  • Имеет систему модерации и защиты от спама

🚀 Основные функции

Для пользователей:

  • 🌞 Получить порцию тепла - случайная поддерживающая фраза
  • 💌 Поделиться своей фразой - добавить свои слова поддержки
  • 📱 Автоматические уведомления - 4 рассылки в день в случайное время

Для администратора:

  • 📊 Статистика бота (/admin)
  • 🧪 Тестирование (/test_notification)
  • 🔄 Управление рассылкой (/reschedule)
  • 📝 Модерация фраз (/moderate, /approve_all)
  • 🔐 Безопасность (/security)

📁 Структура проекта

matsav_tov_bot/
├── main_fixed.py              # Главный файл для запуска
├── config.py                  # Настройки бота
├── bot_handlers_fixed.py      # Обработчики команд
├── database.py                # Работа с данными
├── scheduler.py               # Автоматическая рассылка
├── moderation.py              # Система модерации
├── security.py                # Защита от спама
├── requirements.txt           # Зависимости
├── data/                      # Данные бота
│   ├── phrases.txt           # Основные фразы
│   ├── user_phrases.csv      # Фразы от пользователей
│   ├── users.txt             # Пользователи
│   └── security.json         # Данные безопасности
└── logs/                      # Логи
    └── bot.log               # Подробные логи

⚙️ Установка и запуск

1. Подготовка окружения

# Клонируйте проект или создайте папку
mkdir matsav_tov_bot
cd matsav_tov_bot

# Создайте виртуальное окружение
python3 -m venv venv
source venv/bin/activate

# Установите зависимости
pip install -r requirements.txt

2. Настройка

  1. Получите токен бота от @BotFather в Telegram
  2. Отредактируйте config.py:
    BOT_TOKEN = "ВАШ_ТОКЕН_ЗДЕСЬ"
    ADMIN_ID = ВАШ_TELEGRAM_ID

3. Запуск

# Активируйте окружение
source venv/bin/activate

# Запустите бота
python3 main_fixed.py

📊 Управление ботом

Админские команды:

Основные:

  • /admin - общая статистика бота
  • /test_notification - отправить тестовое уведомление
  • /reschedule - перепланировать рассылки

Модерация:

  • /moderate - просмотр фраз на модерации
  • /stats_moderation - статистика модерации
  • /approve_all - одобрить качественные фразы пакетно

Безопасность:

  • /security - статистика системы безопасности

Модерация фраз:

  1. Автоматическая - фразы проверяются на спам и подозрительный контент
  2. Ручная - просматривайте файл data/user_phrases.csv
  3. Пакетная - используйте /approve_all для одобрения качественных фраз

🔧 Настройки

Частота рассылок

В config.py измените:

DAILY_NOTIFICATIONS = 4  # Количество рассылок в день

Временные слоты

В scheduler.py настройте время рассылок:

time_slots = [
    (9, 11),   # Утро: 9:00-11:00
    (12, 14),  # Обед: 12:00-14:00
    (15, 17),  # День: 15:00-17:00
    (18, 20),  # Вечер: 18:00-20:00
]

Безопасность

В security.py настройте лимиты:

rate_limits = {
    'messages_per_hour': 10,
    'phrases_per_day': 3,
    'commands_per_minute': 5
}

🌐 Деплой на сервер

VPS/Dedicated сервер:

  1. Установите Python 3.9+
  2. Загрузите проект на сервер
  3. Настройте systemd сервис:
# /etc/systemd/system/matsav-tov.service
[Unit]
Description=Matsav Tov Telegram Bot
After=network.target

[Service]
Type=simple
User=bot
WorkingDirectory=/path/to/matsav_tov_bot
Environment=PATH=/path/to/matsav_tov_bot/venv/bin
ExecStart=/path/to/matsav_tov_bot/venv/bin/python main_fixed.py
Restart=always

[Install]
WantedBy=multi-user.target
  1. Запустите сервис:
sudo systemctl enable matsav-tov
sudo systemctl start matsav-tov

Облачные платформы:

Railway:

  1. Подключите GitHub репозиторий
  2. Добавьте переменные окружения (BOT_TOKEN, ADMIN_ID)
  3. Деплой происходит автоматически

Heroku:

  1. Создайте приложение
  2. Добавьте buildpack Python
  3. Настройте переменные окружения
  4. Добавьте Procfile: worker: python main_fixed.py

📈 Мониторинг

Логи

Все действия записываются в logs/bot.log:

  • Рассылки и их результаты
  • Действия пользователей
  • Ошибки и предупреждения
  • Статистика безопасности

Файлы данных

  • data/phrases.txt - основные фразы для рассылки
  • data/user_phrases.csv - фразы от пользователей для модерации
  • data/users.txt - список зарегистрированных пользователей
  • data/security.json - данные системы безопасности

🛡️ Безопасность

Бот включает:

  • Rate limiting - ограничение частоты сообщений
  • Автоматическая фильтрация спама и подозрительного контента
  • Система блокировки нарушителей
  • Логирование всех действий для аудита

🔄 Резервное копирование

Регулярно создавайте бэкапы:

# Архивируйте папку data
tar -czf backup_$(date +%Y%m%d).tar.gz data/

# Или скопируйте ключевые файлы
cp data/phrases.txt backups/
cp data/user_phrases.csv backups/
cp data/users.txt backups/

📞 Поддержка

При возникновении проблем:

  1. Проверьте логи в logs/bot.log
  2. Убедитесь что все файлы созданы в папке data/
  3. Проверьте что токен бота корректный
  4. Убедитесь что виртуальное окружение активно

📝 Лицензия

Проект создан для поддержки людей в трудные времена. Используйте с добротой! ✨


מצב טוב - пусть у всех будет хорошее состояние ❤️

About

Telegram bot for emotional support

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors