Как установить время начала пользовательского статуса через API? - PullRequest
0 голосов
/ 07 апреля 2019

Мы пытаемся установить статус пользователя через API, и иногда требуется установить статус на завтра. Я видел, что поле профиля не имеет времени начала в методе users.profile.set. У вас есть предложения? Было бы здорово помочь.

POST /api/users.profile.set
Host: slack.com
Content-type: application/json; charset=utf-8
Authorization: Bearer xoxp_secret_token
{
    "profile": {
        "status_text": "riding a train",
        "status_emoji": ":mountain_railway:",
        "status_expiration": 1532627506
    }
}

1 Ответ

0 голосов
/ 07 апреля 2019

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

Чтобы получить эту функциональность, вам нужно разработать ее самостоятельно с приложением Slack и некоторым механизмом планирования, например, CRON.

Вот основные принципы работы этого приложения:

  1. Slack app

    • Настраиваемая команда слэша для установки запланированного статуса для пользователя
    • Приложение хранит будущую дату статуса пользователя в собственной базе данных
  2. Пакетная

    • Регулярно запускается (например, каждую минуту) для проверки статуса для обновления (например, с помощью задания CRON / веб-планировщика CRON)
    • Проверяет, есть ли какие-либо текущие обновления статуса для сообщения
    • Если да: публикует новые обновления статуса и помечает их как опубликованные / удаляет их в своей базе данных
...