13
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

アプリケーションからDiscordのチャンネルにメッセージを送る

Last updated at Posted at 2017-03-31

サーバーからDiscordに通知をしたい

EverydayOneMotionという企画をしているのですが、エイプリルフール企画で「ユーザーに投稿してもらったものを手動確認してTwitter投稿」、みたいなことをすることになりました。
メンバーの連絡ツールにDiscordを使っており、 #aprilfool2017 チャンネルに通知しようとしたところ分かりやすい情報が出なかったので、ここに記しておきます。

言語はPHPですが、POST送れればなんでも良さそう。

1.webhookのURLを取得

スクリーンショット 2017-04-01 8.08.25.png

チェンネル一覧右側の「チャンネルの編集」をクリック

スクリーンショット 2017-04-01 8.11.25.png 「webhookを作成」をクリック、BOTの情報を適宜編集できます。

2.webhookにPOSTする

取得したURLにPOSTすると通知を送ることが出来ます。


// Guzzleなりcurlなりでよさそう
$client = new GuzzleHttp\Client();
$request = $client->createRequest('POST', DISCORD_WEBHOOK, ['json' => ['content' => 'ここにメッセージ']]);
$response = $client->send($request);

{
  "content":"ここにメッセージ"
}

様子

スクリーンショット 2017-04-01 8.26.01.png

他のパラメータは下記リンクを参考に

参考

https://gist.github.com/jagrosh/7606268fc9f1d3e90ce9efc79294f960
https://github.com/hammerandchisel/discord-api-docs/blob/2f0a074005618a51df2f26122a6d4c7aa216732e/docs/resources/Webhook.md
http://docs.guzzlephp.org/en/5.3/clients.html#json

13
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?