Как установить время начала статуса пользователя через API?

#node.js #slack #slack-api

#node.js #slack #slack-api

Вопрос:

Мы пытаемся установить статус пользователя через API, и иногда требуется установить статус на завтра. Я видел, что в поле профиля нет времени начала в users.profile.установите метод. У вас, ребята, есть какие-либо предложения. Это было бы отличной помощью.

 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:

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

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

Вот основная схема того, как это приложение может работать:

  1. Приложение Slack

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

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