↓だいぶ前のこの記事が未だに人気なので、現状を知るために再検証をしてみます。
先に結果を言うと、Discordからコピーしてきたwebhook URLでも普通にアクション実行成功しました。Too many requests to this host等のエラーは出ませんでした。
IFTTTアプレット作成
トリガー
トリガーはとりあえず、Twitterの「New tweet by a specific user」にして、私のTwitterのサブアカウントのツイートを取得するようにする。
webhook URL準備
アクションを作成する前に、webhook URLを用意する。投稿を受け取りたいDiscordチャンネルの設定から、webhookのURLをコピーする。
アクション
アクションはwebhookの「Make a web request」にして、webhook URL等を入力。
{
"content" : "<@[自分のDiscord ID]> {{LinkToTweet}}"
}
Bodyには上記を入力。自分のDiscord IDをつけたのは、自分へのメンションにして気付きやすいようにするためです。
※自分のDiscord IDの取得方法は、Discordのユーザー設定 > 詳細設定 > 開発者モード をオンにして、参加しているサーバーのメンバー一覧の中の自分を右クリックしたら、一番下にIDをコピーって項目が出てきます。18字の数字の羅列です。
追加アクション
テストのため、追加アクションを設定してみる。webhookを使わずDiscordのアクションを設定する方法だ。Discordの「Post a message to a channel」で、以下を入力。
webhookの方のアクションと区別するため、「Discordアクション経由」と入力しました。
※サーバー・チャンネル欄に希望するサーバー・チャンネルが表示されない場合、DiscordサーバとIFTTTを再連携する必要があります。IFTTTのDiscord設定ページからReconnect。
以上、アプレットはこんな感じになりました↓
これでアプレットを保存。
Discordチャンネルの権限確認
上で追加した追加アクションは、IFTTTボットさんがDiscordチャンネルにメッセージを送信してくれる機能のため、Discordチャンネルの設定で、IFTTTボットさんにメッセージを送信する権限等を与えます。
「チャンネルを見る」「ウェブフックの管理」「メッセージを送信」
念のためこの3つを許可する。
チャンネルの上のカテゴリーやサーバーの権限も、チャンネルの権限に関わってくるので注意。
実行
「@tos テスト」とかでトスツイして、5分程度待ってみる。(私はIFTTT Proプランを利用していて、アプレットの「Check now」の箇所に「Polling Applets usually run within 5 minutes」=5分以内に実行されるって書いてるので。)
結果
ちゃんとDiscordでツイートを受け取れました。上のDiscordのアイコンの投稿がwebhookアクションでの結果です。
Too many requests to this host等のエラーは出ませんでした。普通にDiscordからコピーしてきたwebhook URLでも動くようになったんですね。
コメント