Как получить ответное сообщение потока из события response_added? - PullRequest
1 голос
/ 19 октября 2019

Я создаю слабое приложение часто задаваемых вопросов, которое использует реакции сообщений, чтобы собрать лучшие ответы на вопросы. Я планирую сохранить любые сообщения Slack с положительными реакциями, используя событие reaction_added для получения атрибута TS, а затем метод conversations.history для получения содержимого сообщения.

Это хорошо работает для родительского уровня илинепотоковые сообщения, однако это не работает для ответных сообщений внутри потоков. По какой-то причине метод conversations.history возвращает несвязанное сообщение при использовании TS ответа потока.

Я проверил документацию по методу Slack API conversations.history, чтобы узнать, обрабатываются ли ответы каким-либо особым образом. Я рассмотрел метод conversations.replies, чтобы выяснить, может ли он быть полезен, но поскольку событие reaction_added просто предоставляет идентификатор TS для сообщения, а не значение thread_ts, которое можно использовать с методом conversations.replies.

IИспользую болтовые рамки. Вот фрагмент кода, который пытается использовать событие reaction_added с методом conversations.history для получения содержимого сообщения:

app.event('reaction_added', async ({ event, context, say }) => {
  try {
    const result = await app.client.conversations.history({
      token: process.env.SLACK_USER_TOKEN,
      channel: event.item.channel,
      latest: event.item.ts,
      limit: 1,
      inclusive: true
    });
    save(`${result.messages[0].text}`);
  }
  catch (error) {
    console.error(error);
  }
});

Ожидаемый результат: Содержимое сообщения потока ответа, для которого отправлена ​​реакция

Фактический результат: Содержимое последнего сообщения в слабом канале

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...