【n8n超初級活用術】Discord Delete a messageでメッセージ自動削除ワークフローを覚えよう 🗑️
はじめに
Discordの古いメッセージや不要なメッセージの削除作業が大変になっていませんか?
この記事ではDiscordノードの「Delete a message」アクションを使い、n8nでメッセージを自動削除するワークフローを作成します🙌
この記事はこんな人におすすめです
Discordサーバーを運営している方
古いメッセージを自動で削除したい方
テストメッセージをクリーンアップしたい方
Discordのメッセージ管理を自動化したい方
今回作成するワークフローの全体像

ワークフローの流れの概要
①定期実行(Schedule Trigger):定期的に自動実行
②メッセージ一覧取得(Discord Get Many Messages):指定したチャンネルのメッセージ一覧を取得
③日時計算(Code):各メッセージの経過日数を計算
④削除対象判定(IF):削除対象のメッセージを判定
⑤メッセージ削除(Discord):メッセージを削除
【実践】ゼロから作る!Discordメッセージ自動削除ワークフロー
Step 1: Schedule Triggerノードを追加する
1週間に1度、日曜日の設定にしています

おすすめは週に1回程度です。頻繁に実行すると、Discord APIのレート制限に引っかかる可能性があります。
Step 2: Discordノードでメッセージ一覧を取得する

Server名、channel名をそれぞれリストから選択します
💡 Discord Botの設定方法が分からない場合は、以前の記事(Day28)を参照してください。
💡 複数のチャンネルを処理する場合(今回はやりません)
Get many channelsで全チャンネルを取得
Loop Over Itemsで各チャンネルごとに処理
Step 3: Codeノードでメッセージ日時を計算する

3. JavaScriptコードを入力
JavaScript Codeに以下のコードを入力します:
// メッセージリストを取得
const messages = $input.all();
// 各メッセージの日時を計算
const messagesWithAge = messages.map(msg => {
const messageData = msg.json;
const messageDate = new Date(messageData.timestamp);
const now = new Date();
// 日数を計算
const daysSinceMessage = Math.floor((now - messageDate) / (1000 * 60 * 60 * 24));
return {
messageId: messageData.id,
channelId: messageData.channel_id,
content: messageData.content || "",
author: messageData.author?.username || "不明",
authorId: messageData.author?.id || "",
timestamp: messageData.timestamp,
daysSinceMessage: daysSinceMessage,
shouldDelete: daysSinceMessage >= 30 // 30日以上経過している場合
};
});
return messagesWithAge.map(m => ({ json: m }));💡 削除条件のカスタマイズ
日数を変更:`30`を他の値に変更(例:60日、90日)
特定キーワードを含むメッセージのみ削除:`messageData.content.includes('削除対象')`を追加
特定ユーザーのメッセージのみ削除:messageData.author?.id === '特定ユーザーID'を追加
Step 4: IFノードで削除対象を判定する
コードノードでshouldDeleteの判定が追加されています。
ここがtrueになっていると削除対象です

is trueはBooleanから選択

Step 5: Discordノードでメッセージを削除する
1秒に5件の処理しかできないので、5件以上ある場合はLoopノードを追加して処理してください

⚠️ 重要:メッセージ削除は取り消せません
メッセージを削除すると、そのメッセージは完全に削除されます。削除前に、必要な情報をバックアップしておくことをおすすめします。
📚 まとめ
この記事では、Discordノードの「Delete a message」アクションを使った、メッセージ自動削除ワークフローの作り方を解説しました。
Discordのメッセージ自動削除をマスターすれば、メッセージ管理が大幅に楽になります。ぜひ様々なシーンで活用してみてください!
この記事が役に立ったら、スキ!フォローで応援してくれると嬉しいです☺️
