Справка | Announcements

Справка | Announcements

Announcements

Содержание

1. Список команд и функций

1.1. Создание анонсов

1.2. Взаимодействие с анонсами

1.3. Упоминание всех участников в группе

2. Обработка ошибок

3. Архитектура проекта

3.1. Общая структура

3.2. Открытый репозиторий

3.3. Планы по развитию



1. Список команд и функций

Бот Announcements предназначен для обеспечения полного контроля над анонсами (событий) в группах и каналах. Для этого, необходимо добавить самого бота в соответствующую группу или канал и присвоить ему требуемые права администратора.

При этом, использовать команды в группах, за исключением /all, не допускается в целях сохранения приватности и во избежание путаницы.


Перечень команд для анонсов:

/add – создать анонс;

/push [name] – отправить анонс name сейчас;

/edit [name] – изменить текст анонса name;

/delete [name] – удалить анонс name;

/list – показать все отложенные анонсы.


Дополнительные команды:

/all – упомянуть всех участников группы (эквивалентно @all в сообщении);

/menu – главное меню бота;

/settings – меню настроек бота.

Далее в главе представлено подробное описание функционала всех упомянутых команд.



1.1. Создание анонсов

Для того, чтобы создать анонс, необходимо в первую очередь ввести команду /add или выбрать соответствующую inline-кнопку из главного меню. После активации команды, бот отобразит кнопку с надписью «Создать анонс» на своей клавиатуре. Нажатие на нее откроет встроенное веб-приложение.


Веб-приложение для создания анонсов

Интерфейс веб-приложения представляет из себя несколько текстовых полей, календарь и часы для указания даты и времени, а также ряд дополнительных настроек создаваемого анонса. После заполнения всех требуемых данных, появляется возможность нажать кнопку «Создать» для завершения процесса.

Данные, участвующие в создании анонса:

  • название – заголовок анонса;
  • дата – дата анонса;
  • время – время анонса;
  • день недели – день недели для выпуска анонса;
  • получатели – список получателей анонса;
  • с оповещением – отправить анонс со звуковым уведомлением или без него;
  • повторяющееся событие – регулярно повторять анонс с учетом даты, времени и дня недели;
  • описание – подробное текстовое описание анонса.

Из вышеперечисленных данных, название является единственным обязательным условием при создании анонса. Без него невозможно нажать кнопку «Создать», даже если другие данные введены, однако можно сделать анонс исключительно с заголовком.


Особенности, связанные с временем анонса

Исходя из вышесказанного, все данные о времени анонса – необязательны. Так или иначе, при их использовании немало важным будет помнить о том, как именно создаются анонсы в зависимости от указания тех или иных параметров.

Важное уточнение: время анонса никогда не может находиться в прошлом. Если время и (или) день недели указаны как прошедшие для текущей недели, это означает, что анонс отправится получателям на следующее пересечение времени и дня недели.

Ниже приведены разъяснения случаев, при которых что-либо из данных о времени не указано (при выключенном «повторении события»):

1. Не указана только дата или день недели.

Создается анонс, который отправится получателям в указанные дату или день недели и указанное время.

2.Не указано только время.

В данном случае, есть два варианта:

1) если указанные дата и день недели соответствуют друг другу: создается один анонс, который отправится получателям в указанную дату;

2) если указанные дата и день недели не соответствуют друг другу: создается два одинаковых анонса, один из которых отправится в указанную дату, а второй – в указанный день недели.

В обоих вариантах, если анонс отправляется получателям сегодня, то к текущему времени добавляется отсрочка в 5 минут.

3. Указана только дата или день недели.

Создается анонс, который отправится получателям в указанную дату или день недели, при этом время будет соответствовать текущему или получит дополнительную отсрочку в 5 минут, если анонс отправится сегодня.

4. Указано только время.

Создается анонс, который отправится получателям в указанное время сегодня или завтра в зависимости от текущего времени.

5. Данные о времени не указаны.

Создается анонс, который отправится получателям с отсрочкой в 5 минут от текущего времени.

В свою очередь, если при создании анонса параметр «повторяющееся событие» был включен, вышеописанные случаи полностью сохранят свои условия, однако становятся бесконечными во времени – это означает, что их отправка получателям будет повторяться до тех пор, пока пользователь не использует команду /delete.

Важное уточнение: выбор даты в «повторяющемся событии» не учитывает год и месяц. Вне зависимости от того, какая дата была указана при создании, событие будет происходить в указанное число каждый месяц с учетом текущего или указанного времени.



1.2. Взаимодействие с анонсами

Как уже было сказано ранее, бот Announcements обладает обширным функционалом для полного управления анонсами. Удобное inline-меню позволяет полностью взаимодействовать со всем его функционалом, однако, для гибкости было реализовано полноценное управлением ботом через текстовые команды.

При этом, для упрощения работы с командами для анонсов, помимо традиционного поочередного ввода данных команд по следующему образцу:

предусмотрена возможность использовать ввод любой команды (за исключением /add и /list) в однострочном варианте:

Так или иначе, пользователь в праве самостоятельно решать, какой вариант взаимодействия с интерфейсом бота предпочтительнее.

Далее приведены подробные описания каждой из команд, необходимых для управления анонсами.


Отправка анонса без ожидания

текст


Изменение текста анонса

текст


Удаление анонса

текст


Просмотр полного списка отложенных анонсов

текст

Report Page