Я работаю над проектом, в котором пользователям назначаются заявки на основании их присутствия в Slack. Это присутствие может быть активным или отсутствующим, но можно также вручную установить для этого присутствия значение «Вне». Умный пользователь может вручную настроить свое присутствие и избежать назначения работы. Это то, чего я бы хотел избежать.
На данный момент я использую метод users.getPresence
, который отлично работает, но я бы хотел получить «истинное» присутствие пользователей.
users.getPresence Страница документации содержит следующую информацию:
Если вы запрашиваете информацию о присутствии для аутентифицированного пользователя, этот метод возвращает текущее присутствие вместе с подробной информацией о том, как оно было рассчитано:
{
"ok": true,
"presence": "active",
"online": true,
"auto_away": false,
"manual_away": false,
"connection_count": 1,
"last_activity": 1419027078
}
Этот метод предоставляет информацию о количестве подключений и о том, изменил ли пользователь вручную свой статус на Нет. Я предполагаю, что, используя эту информацию, я могу видеть, если пользователь в сети, но он подлый.
Однако я не знаю, как получить эту информацию. Что это за «авторизованный» пользователь, и вы можете получить эту информацию только для этого пользователя?
Кроме того, я случайно получил эти «расширенные» данные getPresence, когда отправляю запрос в свое приложение, используя адрес электронной почты в качестве входных данных, вместо Slack ID. Однако ответ всегда один и тот же:
{
"ok": true,
"presence": "away",
"online": false,
"auto_away": false,
"manual_away": false,
"connection_count": 0
}
Неважно, активен я или нет, ответ всегда один и тот же.
Кто-нибудь здесь разобрался? как работает этот «расширенный» getPresence? Я хотел бы знать, что вы это сделали.
Если у кого-нибудь есть идея, как восстановить «истинный» онлайн-статус в Slack, пожалуйста, дайте мне знать: D