Discord Webhookの使い方
実際にメッセージ送信を試しながら解説
はじめに
このページでは、Discord Webhookの作成方法を解説するだけでなく、実際にWebhook URLを入力してメッセージ送信を試せます。
Webhook URL、メッセージ本文、username、avatar_url、embedなどをフォームに入力すると、Discordへ送信されるJSONやcurlコマンドも確認できます。
この記事では以下を扱います。
- Discord Webhookとは
- Discord Webhookを使うときの注意点
- DiscordでWebhook URLを作成する方法
- Webhook URLへPOSTしてメッセージを送る方法
- usernameやavatar_urlで表示を変える方法
- embedを使ったメッセージ装飾
- ブラウザ上のフォームからWebhook送信を実際に試す
Discord Webhookとは
まずWebhookとは、あるイベントが発生したときに外部サービスや自作プログラムが指定されたURLへHTTPリクエストを送信し、受信側で処理を実行する仕組みのことです。
紹介するDiscordのWebhook機能では、事前に設定したチャンネルに任意のメッセージを送信できます。
たとえば、自作プログラムや外部サービスからDiscordのWebhook URLへPOSTすることで、指定したチャンネルにメッセージを投稿できます。
Discord Webhookを使うときの注意点
Webhook URLを知っている人は、そのURLを使ってチャンネルにメッセージを送信できます。
そのため、Webhook URLをGitHubなどの公開リポジトリに置いたり、誰でも見られる場所に貼ったりしないように注意してください。
この記事のフォームは動作確認用です。実際のサービスで使う場合は、Webhook URLをフロントエンドに直接埋め込まず、サーバー側や環境変数で管理するのが安全です。
Discord Webhook URLを作成する
チャットを送信できるようにする前に、DiscordのチャンネルでWebhookを作成する必要があります。
まず、メッセージを送信したいチャンネルの設定を開きます。

次に、以下の順にクリックしてWebhookを作成します。
[連携サービス] > [ウェブフック] > [新しいウェブフック]
名前やアイコンは好きなように設定してください。

作成できたら、Webhook URLをコピーします。
このURLを使って、外部からDiscordのチャンネルへメッセージを送信できます。
ここまでで事前準備は完了です。
フォームからDiscord Webhookを送信してみる
ここから実際にDiscord Webhookの送信を試せます。
作成したWebhook URLとメッセージを入力して送信すると、指定したDiscordチャンネルにメッセージが投稿されます。
任意で、username、avatar_url、embedを設定することもできます。
入力内容に応じて、POSTされるJSONとcurlコマンドも自動で更新されます。
注意
このフォームは、入力したWebhook URLへ実際にPOSTします。
テスト用のチャンネルやWebhookを使うことをおすすめします。
フォームで試せる項目
このフォームでは、Discord Webhookでよく使う項目をまとめて試せます。
| 項目 | 内容 |
|---|---|
content | Discordに送信する本文 |
username | Webhook投稿時の表示名 |
avatar_url | Webhook投稿時のアイコン画像URL |
embeds | カード形式のメッセージ |
embed.title | Embedのタイトル |
embed.description | Embedの説明文 |
embed.color | Embed左側の色 |
embed.thumbnail | Embed右上などに表示される小さい画像 |
embed.image | Embed内に表示する画像 |
embed.footer | Embed下部のテキスト |
embed.fields | Embed内に追加できる項目 |
入力内容に応じて、実際にPOSTされるJSONとcurlコマンドも自動で更新されます。
たとえば、メッセージだけを送る場合は以下のようなJSONになります。
{
"content": "こんにちは"
}
usernameやavatar_urlを入力すると、送信者名やアイコンも変更できます。
{
"username": "通知Bot",
"avatar_url": "https://example.com/avatar.png",
"content": "デプロイが完了しました"
}
embedを設定すると、Discord上でカード形式のメッセージとして表示できます。
{
"content": "お知らせです",
"embeds": [
{
"title": "メンテナンスのお知らせ",
"description": "本日22時からメンテナンスを実施します。",
"color": 5793266
}
]
}
color は #5865f2 のようなカラーコードではなく、10進数の数値で指定します。
このフォームでは、カラーピッカーで選んだ色を自動でDiscord Webhook用の数値に変換しています。
応用機能
この記事では基本的なWebhook送信を中心に扱いましたが、Discord Webhookには他にもいくつかの機能があります。
allowed_mentions:メンションの扱いを制御する- ファイル添付:画像やログファイルなどを送信する
thread_id/thread_name:スレッドに投稿するwait:送信後のメッセージ情報をレスポンスで受け取るcomponents/with_components:ボタンやセレクトメニューなどを扱う
詳しい仕様はDiscord公式ドキュメントで確認できます。
この記事では、まず通常の通知メッセージでよく使う content、username、avatar_url、embeds に絞って解説しました。
まとめ
Discord Webhookを使うと、外部サービスや自作プログラムからDiscordのチャンネルへ簡単にメッセージを送信できます。
この記事では、Webhook URLの作成方法から、フォームを使ったメッセージ送信、username・avatar_url・embedの設定までを解説しました。
ページ内のフォームを使えば、実際にPOSTされるJSONやcurlコマンドを確認しながらWebhookの動きを試せます。
実際のサービスでWebhookを使う場合は、Webhook URLを公開しないように注意し、サーバー側や環境変数で安全に管理しましょう。