見出し画像

推しのツイートをdiscodeにfxtwitterで通知させたい

こんにちは、うぱです。
突然ですが、Twitter APIが高額になってしまいましたね。多数のサービスがTwitter連携がなくなってしまって以前より柔軟な使い方ができなくなってしましました。

無料のTwitterAPIは一応あり、それはツイートの投稿は可能らしいですが、ツイートの取得はできないようです….
IFTTTのサービスはTwitterAPIを利用してツイートの取得可能(2024/09/25時点)なので、IFTTTを利用して特定ユーザーのツイートを埋め込みでdiscodeに通知する手順を記載します!


discodeに通知しようと思った背景
当初ツイッターの通知でよくない?と思いましたがツイッターのアプリ内でいろんな方を通知ONにしていると単純に見逃しが発生するし、数日Twitter見ないときあるのですが、いちいちツイートを遡って探すのが大変です。みなさん経験ありますよね。
なので1つのアプリに集約して見逃しを無くしたいと思いました。


こんな使い方もできるよ

例えば推しのyoutube配信告知ツイートだけ通知したいけど推しのツイートを通知ONにしたらすべてのツイートが通知されてしまう…といった懸念もIFTTTでは配信告知ツイートのみ通知可能にできます。
※今回の手順では件のやり方は記載してないです。


事前準備
・IFTTT pro+
・discode
・Twitter Account


discodeサーバーを作成


この質問をスキップ


任意のサーバー名を入力し新規作成


  サーバー設定


アプリ > 連携サービス > ウェブフックを作成


ウェブフックを作成


ウェブフックURLをコピーしてメモ帳などに張り付けておいてください


IFTTT画面


Create


Add


Twitterアイコンをクリック


New tweet by a specfic user(特定のユーザーのツイート)


Username to watchに通知したいツイッターIDを入力しCreate triggerを押下


Add


Webhooksアイコンを押下


Make a web request


以下を入力し、Create Actionを押下
URL:前述でコピーしたウェブフックURL
Method:POST
Content Type:application/json
Additional Headers:空白
Body:空白


IFとThenの間にある⊕をクリックしFilter codeを押下


ドメインをtwitter.comからfxtwitterに変換するJava ScriptコードをコピペしUpdate Filter押下

// TwitterのLinkToTweet URLを取得
let linkToTweet = Twitter.newTweetByUser.LinkToTweet;
let searchTerm = 'twitter.com';
let replacementTerm = 'fxtwitter.com';
// URLの置換処理
if (linkToTweet.indexOf(searchTerm) !== -1) {
linkToTweet = linkToTweet.replace(searchTerm, replacementTerm);
}
// Webhookに送信するJSONデータを作成
let webhookBody = {
content: `${linkToTweet}`
};
// JSONデータをWebhookに送信
MakerWebhooks.makeWebRequest.setBody(JSON.stringify(webhookBody));


Continue


Finish


実行結果で成功 OR 失敗のログを出力するように設定


  discodeに埋め込みで通知されました!!終了です!!


最後までご覧いただきありがとうございました。
よろしければ記事に♡いただければとてもうれしいです!!!




(追記)
New tweet from searchの場合は以下のJava scriptコードになります。

// TwitterのLinkToTweet URLを取得
let linkToTweet = Twitter.newTweetFromSearch.LinkToTweet;
let searchTerm = 'twitter.com';
let replacementTerm = 'fxtwitter.com';
// URLの置換処理
if (linkToTweet.indexOf(searchTerm) !== -1) {
linkToTweet = linkToTweet.replace(searchTerm, replacementTerm);
}
// Webhookに送信するJSONデータを作成
let webhookBody = {
content: `${linkToTweet}`
};
// JSONデータをWebhookに送信
MakerWebhooks.makeWebRequest.setBody(JSON.stringify(webhookBody));

この記事が気に入ったらサポートをしてみませんか?