generated from FOSS/Bot-Template
a3f5578deb427d9267e04760c6499449fbf9065f
Channel Notifier
Telegram-бот на aiogram 3, который автоматически отправляет личное сообщение пользователям, подавшим заявку в закрытый канал.
Стек
- Python 3.11
- aiogram 3.28.2
- SQLAlchemy 2.x
- aiosqlite
- Alembic
- APScheduler
- aiohttp
- pydantic-settings
- pytz
Быстрый старт
- Создание виртуального окружения:
python3.11 -m venv .venv
source .venv/bin/activate
- Установка зависимостей:
pip install -r requirements.txt
- Создание локального конфига:
cp .env.example .env
- Заполнение
.env:
BOT_TOKEN=123456:telegram_bot_token
BOT_ADMIN_IDS=123456789
BOT_DATABASE_EXPORT=False
BOT_ADMIN_IDS можно указать через запятую: 123456789,987654321.
- Применение миграций:
python migrate.py up
Без аргументов python migrate.py только показывает подсказки. Бот сам миграции при старте не запускает, чтобы не менять схему базы неожиданно.
- Запуск бота:
python main.py
Настройки
| Параметр | Что делает |
|---|---|
BOT_TOKEN |
Токен Telegram-бота от BotFather |
BOT_ADMIN_IDS |
Telegram ID админов, один или несколько через запятую |
BOT_DATABASE_EXPORT |
Разрешает отправку файла БД админам через /db и ежедневный автобэкап |
BOT_STATUS_NOTIFICATION |
Включает уведомление админов о запуске |
BOT_TIMEZONE |
Временная зона бота |
BOT_USER_CACHE_TTL |
Время кеширования пользователя в middleware |
BOT_THROTTLE_RATE |
Базовая задержка антиспама |
PATH_DATABASE |
Путь к SQLite-базе |
PATH_LOGS |
Путь к файлу логов |
По умолчанию BOT_DATABASE_EXPORT=False. Это специально: база может содержать персональные данные, поэтому экспорт надо включать руками и осознанно.
Description
Cоздан в рамках бесплатной разработки на форуме Lolz.live для @youhexed.
Telegram-бот на aiogram 3, который автоматически отправляет личное сообщение пользователям, подавшим заявку в закрытый канал.
https://lolz.team/members/9369387/
116 KiB
Languages
Python
97.5%
PowerShell
2.4%