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

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

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

3 ответов


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

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

message archive export screen


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


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

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

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