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

Техническое задание #1

Open
BeiZero opened this issue Apr 16, 2019 · 0 comments
Open

Техническое задание #1

BeiZero opened this issue Apr 16, 2019 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@BeiZero
Copy link
Contributor

BeiZero commented Apr 16, 2019

Бот который добавляется в групповой чат и имеет следующий функционал:

  • /add {время до которого нужно сделать} {время напоминания} {название задания} {ответственные} -- создаёт задачу и добавляет в очередь на уведомление.
  • /edit {время до которого нужно сделать} {время напоминания} {название задания} {ответственные} -- синоним для /add
  • /list -- выводит список задач
  • /delete {название задания} -- удаляет задачу из списка задач
  • /complete {название задания} -- синоним для /delete, но так же выводит информацию о том что задача завершена

Бот использует планировщик для отсылки уведомлений по указанным датам для уведомления(пишет в чат название задания вместе со списком ответственных), после истечения срока выполнения бот начинает уведомлять каждый час за исключением не рабочего времени(с 00:00 до 09:00)[можно сделать настройку]

Время предполагается использовать в формате yyyy-MM-ddTHH:mm:ss (часовой пояс Самара), например, 2019-04-15T16:47:08 символ T используется в качестве разделителя для упрощения парсинга(можно убрать).

Примеры:

[2019-04-15T16:47:08] User: /add@bot 2019-04-16T18:00:00 2019-04-15T18:00:00 Тестовая задача @User2
[2019-04-15T16:48:08] User: /list@bot 
[2019-04-15T18:48:09] Bot: Тестовая задача @User2
                                                 Другая задача @User3
[2019-04-15T18:00:00] Bot: Напоминаю о Тестовая задача @User2
[2019-04-16T18:00:00] Bot: Просрочена Тестовая задача @User2
[2019-04-16T19:00:00] Bot: Просрочена Тестовая задача @User2
[2019-04-16T20:00:00] Bot: Просрочена Тестовая задача @User2
[2019-04-16T21:00:00] Bot: Просрочена Тестовая задача @User2
[2019-04-16T21:00:00] User2: /complete@bot Тестовая задача
[2019-04-16T21:00:00] Bot: Завершена Тестовая задача @User2

Спорные вопросы и возможные улучшения:

  1. Можно использовать умные даты вроде "Через 2 дня", "Сегодня в 18:00" вместо фиксированного формата
  2. Можно использовать другой формат дат
  3. Можно добавить настройку для не рабочего времени
  4. Можно добавить настройку для часового пояса
@BeiZero BeiZero self-assigned this May 4, 2019
@BeiZero BeiZero added the enhancement New feature or request label May 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant