Изначально функционал команды feedback рассчитан только для его сбора, но чтобы добиться получения их в определенной группе или в чате с определенным пользователем в телеграмме необходимо проделать некоторые действия для авторизации.
Внимание! Для авторизации необходимо не иметь работающий по данному токену телеграмм бот. Лучше проводить авторизацию до запуска любых сервисов.
В случае работы с группой: добавить бота в группу.
В случае работы в определенном чате с пользователем: зайти в чат с ботом
docker build . -t auth_group_1
Внимание! необходимо в поле <telegram_bot_token> ввести значение токена телграмм бота, определенный BotFather.
docker run -it --env telegram_secret = <telegram_bot_token> auth_group_1
6.Выполнить команду /register в определенном ранее чате
В консоли появится chat id соответствующего чата
внимание: минус перед числом входит в chat id
-- это лишний пункт
docker stop auth_group_1
nano .env
REPORTGROUPCHATID = <chat_id>, где <chat_id> -- ранее cкопированный из терминала чат id
Директории aвторизации: ~/onlineedu/auth/run_auth.py
Функция | Описание |
---|---|
get_group_chat_id() | Отображает chat id в консоле для авторизации группы |
Директория бота: ~/services/receive/tg.py
Схема стэйтов
Функция | Описание |
---|---|
get_state(chat_id) | Анализирует состояние пользователя в таблице TgUser |
send_feedback(text, str = "") | Отправляет тектсовый feedback в групповой чат |
send_image_feedback(chat_id: str) | Отправляет feedback картинкой в групповой чат |
report_command_handler(message) | Обрабатывет команду репорт |
handle_report(message) | Обрабатывает текстовый feedback и посылает его в групповой чат |
handle_image_report(message) | Обрабатывает feedback картинкой |
handle_error_image_report(message) | Обработывает картинки, посылаемой документом (ошибочный репорт картинкой) |
handle_image_description(message) | Обрабатывает сообщения описания к картинке и посылает картинку с описанием в чат репортов |
Для грамотного функционирования бота необходимо задать дополнительные таблицы в БД
Директория структуры БД ~/services/web/core/data/db_app.py
Поля:
Поля: