Edited at

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

More than 1 year has passed since last update.


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

EverydayOneMotionという企画をしているのですが、エイプリルフール企画で「ユーザーに投稿してもらったものを手動確認してTwitter投稿」、みたいなことをすることになりました。

メンバーの連絡ツールにDiscordを使っており、 #aprilfool2017 チャンネルに通知しようとしたところ分かりやすい情報が出なかったので、ここに記しておきます。

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


1.webhookのURLを取得

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



「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":"ここにメッセージ"
}


様子

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


参考

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