twitterのキーワード検索結果を割とタイムリーに[slack/discord]botで通知する
いつもと全く毛色は異なるが、せっかく調べたのでまとめておく。
プロローグ
twitterのキーワード検索をbotに通知して貰いたいと考えていたのが始まりである。今までtwitterのハッシュタグの検索をどうにかtwitterを開かずに観測したいと思っていたが、RT botを作ってくれるような有名なサービスは無くなったようだし、twitter apiをサーバで動かすしか無いと思っていた。
しかし、IFTTTというサービスを利用すればtwitter api無しで! 無料で! 情報の方から寄ってくる生活を体験することができる。
※slack botの方は上手くいっていないので、webhookではなくIFTTTで提供されているslackへの投稿を利用した方が良さそうです。(検証中)
bot作成
slack/discordのwebhookを作成
これを行うにはdiscordサーバーの管理者である必要があるので、個人で管理できる場を用意する。
slackの方は管理者ではない立場でめちゃくちゃしたことが無いので、管理者ではない立場で可能かどうかは未検証。
slackの場合
https://api.slack.com/appsにアクセスし、アプリを作成を選択。
アプリ名,ワークスペースを指定してアプリを作成。
機能一覧の[Incoming Webhook]を選択し、この機能を[ON]にする。
webhookを追加すると、botに投稿させるチャンネルを指定した後にwebhookのURLのコピーが可能になる。
参考
Slack での Incoming Webhook の利用 | Slack
slackのIncoming webhookが新しくなっていたのでまとめてみた - Qiita
discordの場合
[サーバの設定]や[チャンネルの設定]にある[ウェブフック]の項目にある[ウェブフックの作成]で簡単に作成する。
botの名前、botの投稿するチャンネルを指定して作成する。
作成後は、ウェブフックのそれぞれのbotの編集からwebhookのURLをチェックできる。
参考
タイトル: Webhooksへの序章 – Discord
IFTTTの設定
まずは、アクセスしてアカウントを作成する。 ログイン後には、アイコンを押すことで表示される[Create]から、大きく表示される[This]で何のサービスからの取得か指定する。
twitterを検索して、下に出てくる[New tweet from search]を選択。
観測したいキーワードを指定。
[Create trigger]を押した後に、今度は[That]を選択した後、webhookを検索する。
webhookの[Make a web request]を選び、bot通知の設定を行う。
上から、[URL]には利用するbotのwebbhookのURLを入力。
投稿なので[Method]はPOSTで、[Conctent Type]についてはapplication/jsonにしている。[Body]に関してはtweetのリンクだけ通知して貰えば良いと考えているので[Add indiegrent]からLinkToTweetのみ選択している。
[Create action]を押して、エラーっぽい赤文字が出なければ上手くいっている。最後の画面では、登録時のメールアドレスに動いたときに通知を行うかどうかの確認があるので適宜設定する。
設定完了