備忘録

備忘録

DiscordでTwitterやSteamやブログRSSを通知するBOTを作る方法

Ⅰ. はじめに

Twitterで誰かがツイートした時
・ブログが更新された時
・Steamゲームのニュースが更新された時
等、何か起きた時に自動的にDiscordで通知を受け取る方法です。

上記のようなケースだけでなく、様々なケースに応用が可能です。
また、IFTTT を利用する事でプログラムを一切書く事無く簡単にBOTを作る事が出来ます。

f:id:kagasu:20170718101545p:plain:h300

Ⅱ. やり方(Twitterの場合)

1. Discordで「チャンネルの編集」をクリック
f:id:kagasu:20170718104444p:plain

2. 「Webhook を作成」をクリック
f:id:kagasu:20170718104543p:plain

3. 「Webhook URL」をコピーし、保存をクリック
f:id:kagasu:20170718104653p:plain:h300

4. Webブラウザで IFTTT にログインし、「New Applet」をクリック
f:id:kagasu:20170718103145p:plain

5. 「this」をクリックしてTwitterを選択
f:id:kagasu:20170718103228p:plain:h100
f:id:kagasu:20170718103248p:plain:h200

6. 特定のユーザーがツイートした時に通知を受け取る場合は「New tweet by a specific user」を選択し、対象のユーザー名を入力する
f:id:kagasu:20170718103627p:plain:h200
f:id:kagasu:20170718103940p:plain:h200


7. 「that」をクリックしてWebhooksを選択
f:id:kagasu:20170718104113p:plain:h100
f:id:kagasu:20170718104132p:plain:h200

8. 「Make a web request」をクリック
f:id:kagasu:20170718104241p:plain:h200

9. 必要な情報を入力します
① 3でコピーしたURLを貼り付ける
② POST を選択
③ application/json を選択
④ 以下を入力

{
  "content":"@{{UserName}} {{CreatedAt}}: {{LinkToTweet}}"
}

f:id:kagasu:20170718105937p:plain:h300

10. 「Create action」をクリック
11. 保存する名前をつけて「Finish」をクリック

以上で対象のユーザーがツイートすると自動的に通知されるようになります。
f:id:kagasu:20170718102223p:plain

Ⅲ. やり方(ブログやSteamニュース等のRSSの場合)

Ⅱとやり方はほとんど同じです。
以下の2点が異なります。

・Ⅱ-5でRSSを選択する
・Ⅱ-9の④に入力する値が以下に変わる

{
  "content": "**{{EntryTitle}}** {{EntryPublished}}: {{EntryUrl}} "
}

FAQ

Q. 通知が遅いです。10分ほど遅れて通知される事があります。

A. IFTTTの仕様上遅い場合があります。即時性が必須な場合には向いていません。