Подтвердить что ты не робот

Slack: Получить все сообщения

Я хочу получить все сообщения, отправленные в моем домене slack. Хотя, я бы предпочел, чтобы данные были получены в XML или JSON. Я могу обрабатывать данные практически в любой форме.

Как получить все эти сообщения? Является ли это возможным? Если нет, могу ли я получить все сообщения для определенного канала?

4b9b3361

Ответ 1

Если вам нужно сделать это динамически с помощью API, вы можете использовать метод channel.list, чтобы перечислить все каналы в вашей команде и channel.history method для извлечения истории каждого канала. Обратите внимание, что это не будет включать DM или частные группы.

Если вам нужно сделать это в одно время, перейдите в https://my.slack.com/services/export, чтобы экспортировать свои командные архивы сообщений в виде серии файлов JSON

message archive export screen

Ответ 2

Этот скрипт Python экспортирует все в JSON простым запуском: https://gist.github.com/Chandler/fb7a070f52883849de35

Он создает каталоги для вас, и у вас есть возможность исключить прямые сообщения или каналы.

Все, что вам нужно для установки - это модуль для slacker, который просто является pip install slacker. Затем запустите его с --token='secret-token'. Вам нужен устаревший токен, который доступен здесь в данный момент.

Ответ 3

Для тех, кто ищет загрузки истории прямого сообщения, этот node основанный инструмент cli позволяет загружать сообщения от DM и IM в обоих JSON и CSV. Я использовал его, и он работает очень хорошо.

Ответ 4

С новым интерфейсом Conversations API эта задача теперь немного проще. Вот полный обзор:

Извлечение сообщений из канала

Новый метод API Цвета conversations.history позволит вам загружать сообщения из любого типа разговора/канала (общедоступного, частного, DM, Group DM), если ваш токен имеет к нему доступ.

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

Преобразование идентификаторов в имена

Обратите внимание, что этот метод будет возвращать сообщения в необработанном формате JSON только с идентификаторами, поэтому вам потребуется вызвать дополнительный метод API для преобразования этих идентификаторов в простой текст:

  • идентификатор пользователя: users.list
  • Идентификаторы каналов: conversations.list
  • идентификаторы ботов: bots.info (официального метода bots.list, но есть неофициальный, который может помочь в некоторых случаях)

Извлечение темы

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

Проверьте эту страницу официальной документации для более подробной информации о потоках.