mirror of
https://github.com/ada-dmitry/vol_bot.git
synced 2026-09-24 00:30:19 +00:00
5.4 KiB
5.4 KiB
Volunteer Center Bot (Волонтерский Центр НИЯУ МИФИ Бот)
Описание
Этот проект представляет собой Telegram-бота, разработанного для Волонтерского Центра НИЯУ МИФИ. Бот предоставляет функционал для регистрации пользователей, управления рассылками и взаимодействия с администраторами.
Основной функционал:
-
Регистрация пользователей:
- Позволяет новым пользователям зарегистрироваться в системе бота.
- Данные пользователей сохраняются в базе данных.
-
Подписка/Отписка от рассылки:
- Пользователи могут подписываться на рассылку сообщений от администраторов.
- Пользователи могут отписываться от рассылки в любое время.
-
Рассылка сообщений:
- Администраторы могут отправлять сообщения пользователям, подписанным на рассылку.
- Поддерживаются два формата сообщений: короткий и длинный.
-
Статистика рассылки:
- Предоставляет администраторам информацию об объеме рассылки (например, количество получателей).
Технологии:
- Python: Основной язык программирования.
- aiogram: Библиотека для создания Telegram-ботов.
- SQLAlchemy: ORM для работы с базой данных.
- PostgreSQL: Используется в качестве базы данных.
- dotenv: Для управления переменными окружения.
- FSM (Finite State Machine): Для управления состояниями бота.
- MemoryStorage: Хранилище состояний в оперативной памяти.
Структура проекта:
main.py: Основной файл, запускающий бота.handlers/: Директория, содержащая обработчики событий (хендлеры) для различных типов пользователей (обычные пользователи, администраторы) и callback-запросов.user.py: Обработчики для обычных пользователей.admin.py: Обработчики для администраторов.admin_adv.py: Обработчики для рассылки сообщений администраторами.adv_callbacks.py: Обработчики для callback-запросов, связанных с рассылкой.
database/: Директория, содержащая код для работы с базой данных.__init__.py: Инициализация модуля.
.env: Файл с переменными окружения (например, токен бота).README.md: Этот файл.
Установка и запуск:
-
Клонируйте репозиторий:
git clone https://github.com/ada-dmitry/vol_bot cd vol_bot -
Создайте виртуальное окружение (рекомендуется):
python3 -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows -
Установите зависимости:
pip install -r requirements.txt(Если у вас нет файла
requirements.txt, то установите зависимости вручную:pip install aiogram python-dotenv sqlalchemy) -
Создайте файл
.env:- Скопируйте содержимое файла
.env.exampleв новый файл.env. - Замените
BOT_TOKENна токен вашего бота, полученный от BotFather.
- Скопируйте содержимое файла
-
Запустите бота:
python main.py
Разработка:
- Для добавления нового функционала создавайте новые обработчики в соответствующих файлах директории
handlers/. - Для работы с базой данных используйте SQLAlchemy.
- Для управления состояниями бота используйте FSM.
Планы по развитию:
- Добавление новых команд и функций.
- Улучшение интерфейса взаимодействия с пользователем.
- Расширение возможностей администраторов.
- Добавление логирования.
- Добавление тестов.
Контакты
Другие проекты: GitHub
По вопросам и предложениям обращайтесь: TG - Дмитрий