Создание Telegram-бота, позволяющего менежеру создавать множество топиков, имеющих подробное описание. Администратор должен иметь возможность управлять рассылкой посредством телеграм-бота, генерировать пригласительные ссылки (ведущие непосредственно на тему) для рядовых пользователей, получать единым потоком все сообщения от пользователей в рамках одной темы, а также ознакамливаться с сообщениями за прошедшие периоды в рамках произвольных тем.
- Бот доступен по адресу:
@MozhaykaTeamBot
- Подробное описание проекта
- Суперпользователь - имеет возможность выдавать и отбирать права администратора, суперпользователя, сам обладает этими правами
- Администратор - получает сообщения от всех пользователей, отправленные в рамках одного проекта/топика, ознакамливается с сообщениями за прошедшие периоды, управляет рассылкой через бота
- Пользователь - может отправлять сообщение ТГ боту в рамках топика/проекта, все эти сообщения будут отправлены администраторам системы
- инициализирует сессию в качестве суперпользователя
- получает уведомления о заявке на роль администратора (или другого суперпользователя), подтверждает/отклоняет заявки
- получает список администраторов системы
- отбирает у пользователей права администратора
- логирование действий других суперпользователей
- инициализирует сессию как пользователь
- отправляет заявку на получение прав администратора
- создает темы/топики/проекты
- закрывает (удаляет) темы/топики/проекта
- получает список тем/топиков/проектов
- указывает описание для тем/топиков/проектов
- генерирует пригласительную ссылку
- изменяет область видимости тем/топиков/объявлений (приватные/публичные)
- отправка сообщений в доступные боту группы/каналы
- отправка сообщений пользователям, подписанных на данную тему
- отвечает конкретному пользователю на сообщение
- инициализирует анонимный чат с пользователем в рамках тематики
- настраивает фильтр для получения сообщений только по выбранным темам/топикам/проектам
- получает сообщения в реальном времени от всех пользователей в соответствии с установленными фильтрами
- ознакамливается с сообщениями на заданную тематику (с фильтрацией по пользователям) за прошедший период
- логирование действий других администраторов
- инициализирует сессию как пользователь
- получает список публичных (открытых) тем/топиков/проектов
- устанавливает тему для отправляемых сообщений (аналог фильтра)
- пишет в чат боту (сообщения переправляются в соответствии с темой)
- начальные фильтры устанавливаются в соответствии с пригласительным url'ом
- добавление бота в группу с правами администратора
- рассылка сообщений в группу через бота
- добавление бота в канал с правами администратора
- рассылка сообщений в канал через бота
- aiogram
- ormar
- PostgreSQL
- Redis
- Создать виртуальное окружение
python -m venv venv
и активировать его - Установить зависимости
python -m pip install -r requirements.txt
- Изменить файл
app/config/example.yml
наapp/cofig/config.yml
со своими данными - Запуск
python serve.py