やりたいこと

Slackでは公式機能でメッセージを一括削除することはできません。

ただ、あるチャンネルやメモ代わりに使っている自分宛てのDMの特定のテキストを含むメッセージをまとめて削除したいこともあるかと思います。

今回はIntegromatを使い、「to-delete」チャンネルのメッセージの内、「Lorem」という単語を含むものを一括で削除してみようと思います。

メッセージを検索[5]

削除するメッセージを特定するために、Slackの「Watch Public Channel Messages」モジュールで、チャンネルを選択し、メッセージを検索します。

DMやプライベートチャンネルのメッセージを削除する場合は、「Watch Direct Messages」モジュールや「Watch Private Messages」モジュールがあるので、そちらをお使いください。

[5]の実行結果を見ると、メッセージのテキストや付随する情報が、それぞれバンドルとして出力されていることが分かります。

メッセージを削除[4]

今回は「Lorem」という単語を含むメッセージのみを削除したいので、フィルターを使い、テキストに「Lorem」というメッセージを含む場合にのみ後続の処理を行うとしています。

Slackでメッセージを削除する場合、チャンネルIDを指定する必要があるのですが、チャンネルIDは、該当のチャンネルをブラウザで開いた際のURLにおける、最後の「/」の後のテキストから分かります。

Message ID(time stamp)には、time stampを入れています。

シナリオを実行すると、「to-delete」チャンネルからメッセージが消えたことが分かります。

以上、Slackで特定のテキストを含むメッセージを一括削除する方法についての説明でした。