Twitterの神絵師のイラストが投稿されたらDiscordに自動で投稿する

こんにちは神乃木です。先程Twitterで神絵師(個人の感想です)のリストを公開したのですが、この機会に私が運用している神絵師のイラストを自動でDiscordに投稿する仕組みについてお話したいと思います。

この仕組みを使うことで、神絵師が投稿したイラストだけ(普段の発言を除く)をDiscordやSlackなどに流すことができ、普段の生活に潤いが出てお金持ちになり彼女ができます(できません)。

[toc]

用意するものと基本的な仕組み

この仕組は、Twitterのリスト機能、IFTTT、DiscordのWebhook機能の3つを用いて作ります。

IFTTTというのはTwitterなどのウェブサービス同士を連携するためのサービスで、私達が寝ている間もゲームしている間も、定期的にジョブを走らせていろいろなサービス同士を連携してくれます。

これを動作させるには以下のものが必要です。

  1. 神絵師を突っ込んだリストとTwitterのアカウント
  2. IFTTTのアカウント
  3. DiscordのWebhook URL

上記を用意するところまでを解説します。

神絵師を突っ込んだリストとTwitterアカウントを作る

まずは何はともあれ神絵師を突っ込んだリストとTwitterアカウントを作ります。

自分で作っても良いと思いますが、まずはお試しで私が持っている神絵師リストを置いておきますので、テスト用なりなんなりに使ってください。

https://twitter.com/i/lists/767896758521253888?s=20

Twitterでこのリストを開き、右上のシェアボタンを右クリックします。

すると「リストへのリンクをコピー」というメニューが出てきます。

リンクをコピーし、リンクの中の文字列の部分、ここでは767…888がリストのIDになるので、それを控えておきましょう。

また、IFTTTからの連携にはTwitterアカウントが必要なのでアカウントも作成してください。

IFTTTのアカウントを作成して設定する

次にIFTTTのアカウントを作ります。

まずは以下のURLにアクセスしましょう。

https://ifttt.com/

右上の「sign up」を押し、出てきた上記の画面でアカウント作成をします。ここではメールアドレス・パスワードを使って登録することにし、「Or use your password to sign up」のsign upをクリックします。

登録にはメールアドレスとパスワードのみで大丈夫です。適当に入力して「Sign up」を押せばアカウント作成は完了です。

チュートリアル画面が出てくるのでこれは無視して右上の✕を押します。

メイン画面右上の人のマークをクリックし、「Create」をクリックします。

ここで「if this then that」という画面が出てきます。「◯◯したら✕✕する」という意味なので、ここに「Twitterのリストを検索したら、DiscordにPOSTする」という仕組みを定義していきます。

「this」をクリックしてサービスを選択します。ここでは「Twitter」を選びます。するとTwitter連携画面が出てくるので、Twitterの連携設定を行います。連携が完了するとTwitterでできることの一覧が出てくるので、下にある「New tweets from search」をクリックします。

すると検索するクエリの入力を求められますので、以下のように入力します。list:の後の数字は冒頭で控えたリストのIDです。自分のリストを使う場合にはここの数字は変わります。

list:767896758521253888 filter:images min_retweets:10

これは、リスト番号767896758521253888のうち、画像を含むツイート、かつリツイートが10以上のものだけを検索するという意味です。これにより神絵師の投稿した画像だけを抽出が可能です。さらにその中で、焼き肉の写真やソシャゲのガチャ結果といった画像は「いいね」こそつくもののそれほどリツイートはされないので、ちゃんと拡散された画像(イラストの可能性が高い)だけを抽出するために「リツイート数10以上」を条件にします。10以上だと取りこぼしが心配な方は5や3くらいに下げても構いません。

問題なければ「Create trigger」を押します。ここでIFTTTの画面は一旦放置してください。

DiscordのWebhookを取得する

DiscordにはWebhookという便利な仕組みがあります。これは、特定のURLに向けて情報を送信すると、Discordのサーバ外から情報を投稿できる仕組みのことで、ニュースフィードを流したり、今回のように画像ツイートを流すのに役立ちます。

DiscordでWebhookを作成するには、サーバー設定→ウェブフックを選びます。

ここの「ウェブフックを作成」ボタンをクリックします。

適当に情報を入力し、最後に「ウェブフックURL」をコピーした上で保存します。保存後もウェブフックURLは呼び出すことが可能です。

IFTTTにウェブフックURLを貼り付けて設定する

ウェブフックURLをコピーしたらIFTTTに戻ります。

次に「That」を選びます。ThatにはWebhookを選びます。「webhook」で検索してみてください。

選択して「Connect」を押すと設定画面が出てきます。Webhookで利用できるサービスは「Make a web request」だけなので、それをクリックします。

いくつか細かい設定項目が出てくるので入力していきます。ここではDiscordに投稿することを前提に値を表記するので、そのまま入力してOKです。

URL

さきほどDiscordからコピーしたウェブフックURLをペーストします。

Method

POST を選びます。

Content Type (optional)

application/json を選びます。

Body (optional)

{ "content" : " {{CreatedAt}} : {{LinkToTweet}} " }

をコピーしてペーストします。

入力し終わったら「Create」をクリックします。

最終的なジョブの確認を行い、「Finish」を押せば完了です。

動作確認

最後に、登録したジョブがちゃんと動いているかどうか動作確認をします。

IFTTTの画面にジョブが登録されているはずなので、右上の歯車ボタンをクリックしましょう。

設定画面が出てくるので、ここで「Check now」を押します。

うまく設定ができていれば、少し間をおいてこんな感じでDiscordに画像が自動で投稿されるはずです。

うまく行かない場合には、min_retweetsの数を減らす、大量にユーザーを含んだリストを指定してみるなどを試してみましょう。

動作を確認したら、IFTTTの画面で「Get notifications when this connection is active」をオフにします。これにより、ジョブが動くたびにメールが来ることを防止できます。

以上で設定作業は完了です。皆様のQOLが上がって彼女ができることをお祈りしておきます。

 

 

 

 

 

 

 

感想をお聞かせください。

  • ためになった・面白かった (8)
  • ためにならなかった・面白くなかった (3)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)