team-work-tools / team-work-telegram-bot

A Telegram bot that helps you conduct daily (or at least regular) meetings
MIT License
0 stars 2 forks source link

add /set_reminder_period and /set_personal_meetings_days #65

Closed examplefirstaccount closed 4 days ago

examplefirstaccount commented 1 week ago

Issues

Details

Since we did not make pull requests for other branches (feature/20-handle-working-days and db-restructure) this branch has all commits from previous branches.

  1. closes #20 Now bot can handle user working days in text format with using "-", "," and " ". For example: "Monday-Wednesday, Friday Sunday".
  2. closes #21 Bot is recording user working days in database in numerical format (0-6 for Monday-Sunday)
  3. closes #22 Bot is sending daily meeting messages only on user working days
  4. closes #23 We redesigned database such that now it can store user personal settings about his username, meetings joined status, working days, reminder period (in minutes), and reply status (whether user replied to meeting messages or not). Each meeting chat has their own list of user objects, so user can have different settings for different chats. We also build another document for global user settings, which are not affected by chats, for example for personal user chat id (his PM).
  5. closes #24 We added handler to parse user reminder period in minutes.
  6. closes #25 Now user can get notifications about his unanswered meeting questions. But there are some limitations connected to the requirement about sending notifications directly to the user's PM. Telegram bot due to security reasons can not write to users first and don't have access to their personal chat, so user have to firstly write to our bot to be able to get notifications.
  7. closes #27 Now user get scheduled messages in the same chat topic where he sent trigger message (msg that triggered scheduling). Messages that require instant reply from bot are by default sent in the same topic (aiogram feature).