Бот для поддержки людей в сложные времена через добрые, человечные фразы
данные для не оптимизировнаной версии!!
"Мацав Тов" (מצב טוב - "хорошее состояние") - это 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 # Подробные логи
# Клонируйте проект или создайте папку
mkdir matsav_tov_bot
cd matsav_tov_bot
# Создайте виртуальное окружение
python3 -m venv venv
source venv/bin/activate
# Установите зависимости
pip install -r requirements.txt- Получите токен бота от @BotFather в Telegram
- Отредактируйте
config.py:BOT_TOKEN = "ВАШ_ТОКЕН_ЗДЕСЬ" ADMIN_ID = ВАШ_TELEGRAM_ID
# Активируйте окружение
source venv/bin/activate
# Запустите бота
python3 main_fixed.pyОсновные:
/admin- общая статистика бота/test_notification- отправить тестовое уведомление/reschedule- перепланировать рассылки
Модерация:
/moderate- просмотр фраз на модерации/stats_moderation- статистика модерации/approve_all- одобрить качественные фразы пакетно
Безопасность:
/security- статистика системы безопасности
- Автоматическая - фразы проверяются на спам и подозрительный контент
- Ручная - просматривайте файл
data/user_phrases.csv - Пакетная - используйте
/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
}- Установите Python 3.9+
- Загрузите проект на сервер
- Настройте 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- Запустите сервис:
sudo systemctl enable matsav-tov
sudo systemctl start matsav-tovRailway:
- Подключите GitHub репозиторий
- Добавьте переменные окружения (BOT_TOKEN, ADMIN_ID)
- Деплой происходит автоматически
Heroku:
- Создайте приложение
- Добавьте buildpack Python
- Настройте переменные окружения
- Добавьте 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/При возникновении проблем:
- Проверьте логи в
logs/bot.log - Убедитесь что все файлы созданы в папке
data/ - Проверьте что токен бота корректный
- Убедитесь что виртуальное окружение активно
Проект создан для поддержки людей в трудные времена. Используйте с добротой! ✨
מצב טוב - пусть у всех будет хорошее состояние ❤️