Python

【プログラミング】DiscordWebhookを使ってDiscordに自動でメッセージを送ってみよう

2026.02.07 土
18 view
【プログラミング】DiscordWebhookを使ってDiscordに自動でメッセージを送ってみよう

PythonからDiscordにメッセージを送りたい…

何かの通知をDiscordで受け取りたい。

そんな時に今回のDiscordWebhookを利用すれば簡単にメッセージを送信できる。

DiscordWebhook

DIscordWebhookとは

一言で言うと、「特定のWeb URL(通知口)に対してデータを送るだけで、Discordのテキストチャンネルに自動でメッセージを投稿できる仕組み」だ。

本来、Discordで自動メッセージを送るには「Bot」を作成してトークンを発行し、認証処理を書くという複雑な手順が必要。しかし、Webhookを使えばそうした面倒な認証や準備を一切スキップできる。

ウェブフックを作成

メッセージを送信したいDiscordサーバーのテキストチャンネルを右クリック

チャンネルの編集をクリック

連携サービスをクリック

ウェブフックを作成をクリック

名前を入力し、変更を保存するをクリック

ウェブフック URL をコピーをクリック(※このURLを後でPythonコードに使う)

これで、PythonからDiscordへメッセージを自動送信する準備が完了した。

サンプルコード

事前準備

まずは、事前準備としてPythonのファイルを用意する。

app.py

#app.py

メッセージを送信するコード

import requests

WEBHOOK_URL = "ここにコピーしたウェブフックURLを貼り付け"

def send_discord_message(message):
    data = {
        "content": message
    }
    
    response = requests.post(WEBHOOK_URL, json=data)
    
    if response.status_code == 204:
        print("Discordへの送信に成功")
    else:
        print(f"送信失敗 (ステータスコード: {response.status_code})")

if __name__ == "__main__":
    send_message = "Pythonからのテストメッセージ"
    send_discord_message(test_message)

コードの説明

モジュールの読み込み

import requests

import requests: Webサーバーに対してHTTPリクエスト(データの送信や取得)を行うためのライブラリだ。

Webhook URLの設定

WEBHOOK_URL = "ここにコピーしたウェブフックURLを貼り付け"

DiscordでコピーしたWebhookのURLを格納する変数だ。ここに指定したURL宛にメッセージを送る。

関数の定義と送信データの作成

def send_discord_message(message):
    data = {
        "content": message
    }

引数で受け取ったメッセージをDiscordへ送信するための関数を定義している。

DiscordのWebhook機能は {"content": "送信したい本文"} という形式のデータを要求するため、その指定に合わせた辞書型データ(JSON)を作成している。

POSTリクエストの送信

    response = requests.post(WEBHOOK_URL, json=data)

requests.post() を使い、設定したWebhook URL宛に作成したデータをJSON形式で送信している。

送信結果の判定

    if response.status_code == 204:
        print("Discordへの送信に成功")
    else:
        print(f"送信失敗 (ステータスコード: {response.status_code})")

Discord Webhookは送信が正常に完了すると、ステータスコード 204(No Content) を返してくる仕様だ。

そのため、204の場合は「成功」、それ以外の場合はステータスコードを含めたエラーメッセージを表示して原因を確認できるようにしている。

実行処理

if __name__ == "__main__":
    send_message = "Pythonからのテストメッセージ"
    send_discord_message(send_message)

このスクリプトが実行された時初めに動作する処理だ。

send_message に送信したいメッセージを入力し、定義した send_discord_message() 関数を呼び出して送信を行っている。

サンプルコードの動作確認

サンプルコードを実行すると、Discord側にメッセージが届く。

これでDiscordにメッセージを送信できるようになった。

ソースコードのダウンロード

これらのコードはGithubにアップロードしている。

コードのダウンロードはこちら (github.com)

上記のページに、すべてアップロードされているので、必要な方はぜひ使ってみてくれ。

まとめ

今回は、Pythonの requests ライブラリを使って Discord の Webhook へメッセージを送信する方法を解説した。

Webスクレイピングや定期処理のスクリプトと組み合わせることで、「特定条件を満たしたときに自動でDiscordへ通知する」といった仕組みを簡単に作ることができる。

自動化ツールや監視ツールの通知機能として、ぜひ活用してみてくれ。

コメントはこちらから

必須コメント

必須ハンドルネーム