Контекст
Я создаю приложение Slack на основе команд с косой чертой, которое создает сообщение ответа in_channel
с кнопками, с которыми пользователи могут взаимодействовать. Команда косой черты используется в частном канале.
Когда пользователь нажимает кнопку, мое приложение может обновить это сообщение, чтобы отразить новый статус - просто ответив на запрос косой черты с обновленным сообщением и установив replace_original = true
.
Проблема
Кроме того, я также хочу обновить это сообщение пакетом, например когда таймер закончился. Я пытаюсь обновить сообщение с помощью chat.update
, но получаю cant_update_message
ошибку API .
Вот запрос, который я использую для тестирования в Postman:
https://slack.com/api/chat.update?token={TOKEN}&channel={CHANNEL}&ts={TS}&text=Updated&as_user=true
Однако, согласно документации, я должен иметь возможность обновлять сообщения ботов:
Допустимые типы сообщений
Только сообщения, отправленные аутентифицированным пользователем, могут быть обновлены с помощью этого метода. Сюда входят обычные сообщения чата, а также сообщения, содержащие подтип
me_message
. Пользователи ботов также могут обновлять сообщения, которые они публикуют.
И сообщение, которое я хочу обновить, явно принадлежит моему Slack-приложению и выглядит как обычное сообщение бота. Вот как это сообщение просматривается через conversations.history
:
{
"text": "Some text...",
"bot_id": "Bxxxxxxxx",
"type": "message",
"subtype": "bot_message",
"ts": "{TS}"
}
Кстати. Я удаляю это сообщение с теми же параметрами через chat.delete
.
Что мне не хватает?