2015-09-28 20 views
47

Mamy obecnie kanał Slack z ~ 8K wiadomościami wszystko pochodzi z integracji Jenkins. Czy istnieje jakiś programowy sposób usuwania wszystkich wiadomości z tego kanału? Interfejs sieciowy może usunąć tylko 100 wiadomości naraz.Zmniejsz wszystkie wiadomości (~ 8K) na kanale

Z góry dziękuję!

Odpowiedz

42

Szybko dowiedziałem się, że ktoś już zrobił pomocnika: slack-cleaner za to.

A dla mnie to po prostu: slack-cleaner --token=<TOKEN> --message --channel jenkins

+0

Inna opcja pochodzi z [npm] (https://libraries.io/npm/slack-cleanup), ale jeszcze nie próbowałem. – Hann

+0

Luz-cleaner działa świetnie! – mvelay

+0

Gdzie mogę znaleźć mój token i kanał? – kk78626

12

domyślny czysty komenda nie działa dla mnie daje następujący błąd:

$ slack-cleaner --token=<TOKEN> --message --channel <CHANNEL> 

Running slack-cleaner v0.2.4 
Channel, direct message or private group not found 

ale po działało bez problemu czyścić wiadomości bot

slack-cleaner --token <TOKEN> --message --group <CHANNEL> --bot --perform --rate 1 

lub

slack-cleaner --token <TOKEN> --message --group <CHANNEL> --user "*" --perform --rate 1 

, aby wyczyścić wszystkie wiadomości.

Używam limitu szybkości 1 sekundy, aby uniknąć błędu HTTP 429 Too Many Requests z powodu limitu szybkości luzu. W obu przypadkach, nazwa kanału został dostarczony bez # znak

-1
slack-cleaner --token=<TOKEN> --message --channel jenkins --user "*" 
9

!! UPDATE !!

jako @ niels-van-reijmersdal w komentarzu.

This feature has been removed. See this thread for more info: twitter.com/slackhq/status/467182697979588608?lang=en

!! END UPDATE !!

Oto dobra odpowiedź od SlackHQ na Twitterze i działa bez żadnych zewnętrznych materiałów. https://twitter.com/slackhq/status/467182697979588608?lang=en

You can bulk delete via the archives (http://my.slack.com/archives ) page for a particular channel: look for "delete messages" in menu

+1

Po prostu tam, to działa tylko dla kanałów, a nie dla bezpośrednich wiadomości. – TheRodeo

+1

Usuwa tylko 10 ostatnich wiadomości o czasie – MatPag

+1

Nie, użyłem do usunięcia wielu wiadomości za pomocą tej metody. Było około 100 lub coś takiego. – Braggae

10

napisałem prosty skrypt węzła usuwania wiadomości z kanałów publicznych i prywatnych. Możesz go modyfikować i używać.

https://gist.github.com/firatkucuk/ee898bc919021da621689f5e47e7abac

Pierwszy modyfikowania tokenu i identyfikator kanału. Następnie należy uruchomić skrypt:

node ./delete-channel-messages 

Można nauczyć token z następującego adresu URL:

https://api.slack.com/custom-integrations/legacy-tokens

także kanał ID jest napisane w barze broweser url.

https://mycompany.slack.com/messages/MYCHANNELID/

Skrypt usuwa 1000 wiadomości w jednym biegu.

5

Dla każdego, kto nie musi zrobić to programowo, oto szybki sposób:

(prawdopodobnie tylko dla płatnych użytkowników)

  1. Otwórz kanału w internecie lub na pulpicie app, i kliknij cog (w prawym górnym rogu).
  2. Wybierz "Dodatkowe opcje ...", aby wywołać menu archiwum.
  3. Wybierz "Ustaw zasad przechowywania wiadomości kanału".
  4. Ustaw "Zachowaj wszystkie wiadomości na określoną liczbę dni".
  5. Wszystkie wiadomości starsze niż ten czas są trwale usuwane!

I zazwyczaj ustawić tę opcję na „1 dzień”, aby opuścić kanał z jakiegoś kontekstu, a potem wrócić do powyższych ustawień, a ustaw jego polityki retencji z powrotem do „default” iść dalej przechowywanie ich od teraz.

Powiązane problemy