С 1 сентября 2022 года срок хранения сообщений в Slack будет ограничен 90 днями.
https://slack.com/blog/news/pricing-and-plan-updates
Я использовал Slack со своей семьей на бесплатном тарифном плане, но решил сделать резервную копию, поскольку обмен сообщениями до 90 дней будет потерян.
Был способ использовать API Slack, но на этот раз я решил использовать экспортированные данные, которые можно загрузить из графического интерфейса Slack.
(Поскольку это не через API, не представляется возможным сделать что-то вроде автоматического резервного копирования на регулярной ежемесячной основе, но ладно).
Я выбрал Go в качестве нашего языка, потому что хотел изучить Go.
Вот собственно созданный инструмент CLI.
https://github.com/shinshin86/slack-export-data-to-excel
(О, название пакета не похоже на Go…😅)
Установка выполняется с помощью следующей команды.
(Предполагается, что Go установлен на вашей машине).
go install github.com/shinshin86/slack-export-data-to-excel@latest
Как создать резервную копию данных экспорта Slack
Следуйте приведенной ниже документации, чтобы загрузить данные экспорта Slack.
https://slack.com/help/articles/201658943-Export-your-workspace-data
Затем распакуйте его в соответствующий каталог и выполните следующую команду для создания файла Excel на основе экспортированных данных.
Введите каталог экспортированных данных в поле <export data path>
.
slack-export-data-to-excel <export data path>
Поскольку резервные копии создаются исключительно на основе экспортированных данных Slack, данные, не включенные в экспортированные данные, естественно, не будут сохранены.
Например, личные сообщения и DM не могут быть сохранены.
PR приветствуется!
Как вы можете видеть из репозитория, я все еще новичок в написании Go.
Если у вас есть трюк, как сделать его лучше, пожалуйста, пришлите мне PR.