Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/last interaction 684 #700

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from
Open

Conversation

ASTimch
Copy link
Contributor

@ASTimch ASTimch commented Sep 22, 2024

Добавлено формирование поля last_interaction при взаимодействии пользователя с ботом.
! Добавилась миграция.

@@ -82,6 +82,8 @@ async def decorated_handler(
parse_mode=ParseMode.HTML,
reply_markup=keyboard,
)
if ext_site_user:
await ext_site_user_service.update_last_interaction(ext_site_user)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Нужно добавить сохранение времени взаимодействия для пользователя Телеграм при неудачной авторизации.

Сейчас при наличии связи с пользователем сайта оба столбца обновляются вместе внутри ext_site_user_service.update_last_interaction. Можно вынести оттуда обновление столбца для user, а здесь добавить поиск user по telegram_id и обновление столбца last_interaction, если user найден.

Copy link
Collaborator

@gorskyolga gorskyolga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

После добавления отдельного user_service.update_last_interaction в декоратор появились ошибки в некоторых местах, где он используется:

  1. кнопка "Изменить" - AttributeError: 'Provide' object has no attribute 'get_user_categories_with_parents':
  • команда start, кнопка "Проверить компетенции", затем кнопка "Изменить";
  • ИЛИ команда menu, кнопка "Изменить компетенции", затем кнопка "Изменить".
  1. кнопка "Написать в службу поддержки" в меню - AttributeError: 'Provide' object has no attribute 'get_by_telegram_id'.
  2. кнопка "Подписаться на задания" / "Отписаться от заданий" в меню - AttributeError: 'Provide' object has no attribute 'get_by_telegram_id'.
  3. все кнопки кроме "Готово" при изменении настроек уведомлений по кнопке "Изменить настройку уведомлений в меню" (в settings.py должно быть SHOW_NOTIFICATION_SETTINGS_MENU: bool = True ) - AttributeError: 'Provide' object has no attribute 'get_by_telegram_id'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Добавить время использования бота для расчёта статистики
2 participants