LoginSignup
4
2

More than 5 years have passed since last update.

[Ruby]DiscordにWebhookでメッセージを投稿する

Last updated at Posted at 2018-03-13

Webhook URLを取得

  1. サーバー設定Webhooksタブを開く
    スクリーンショット 2018-03-13 22.15.56.png

  2. Webhookを作成をクリックする
    スクリーンショット 2018-03-13 22.15.56.png

  3. オプション設定をおこなう

    • チャンネル:メッセージを投稿するチャンネルの選択
    • 名前:メッセージを投稿する際のユーザ名
    • WEBHOOK ICON:メッセージを投稿する際のユーザのアバターの編集
  4. WEBHOOK URLをコピーする
    後ほど使います。

WebhookにPOSTするプログラムの作成

投稿したいメッセージを先ほど取得したWEBHOOK URLに対してPOSTするだけです。
Faradayを使ってPOSTしてみました。

discord_webhook.rb
require 'faraday'

conn = Faraday.new
conn.post do |req|
  req.url '取得したWEBHOOK URL'
  req.headers['Content-Type'] = 'application/json'
  req.body = '{ "content" : "投稿したいメッセージ" }'
end

投稿したいメッセージのところにtestaaaaaaaaを入れて動かしてみたら、こんな感じで投稿できました。

スクリーンショット 2018-03-13 22.35.05.png

その他、指定のフォーマットに沿ってbodyをいじれば、ユーザ名を変えたりttsでメッセージを読み上げさせたりできそうです。

4
2
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
4
2