🤖

Automate.ioを使ってDiscordに指定アカウントのツイートを流す

4 min read

前置き

昨日 ISUCON の応募募集がありました。
6/29 16:00 からの募集でしたが、18:00 過ぎには枠が埋まるという大盛況ぶりでした。

私は休みだったので 16 時からゆうゆう申し込みを行いましたが、来年も同じ枠数だと、そもそも申し込みバトルに負けてしまいそうです。

そこで募集開始のツイートを監視し、Discord に通知することでいち早く募集に気づくようにしたい、というのが今回の目的です。

検討したツール

このジャンルでは IFTTT が有名かと思いますが、次の検討により Automate.io を選びました。

大事にしたことは下記です。

  • 無料であること
  • コードを書かずに済みそうであること(コード書けば解決することは容易であるが、コードを書かず最速で、サービスを利用して解決がしたかった)
  • Twitter の検索、あるいは特定アカウントのツイートが取得できること
  • Discord に投稿できる、あるいは Webhook への POST ができること

選定するにあたって考えていたことは下記です。

  • IFTTT
    • Pros
      • 5 年以上前から使っていて、使い慣れている
      • Webhook に post する形式であれば、以前にやったことがある
    • Cons
      • 他のアプリを連動していて、すでに無料枠がない
      • アカウントを作らないといけない。これは管理がカオスになりそうだし、マナー的にもあんまりよくなさそう(規約をちゃんと読んだわけではない)
      • 勉強のためほかのツールも試したみたい気持ちがあった(感情)
  • Zapair
    • Pros
    • Cons
      • IFTTT と同様に無料枠をすぐ使いつぶしそう
      • 優良プランが高めで、個人で課金してまで使いたいアプリにならなさそう
      • 別の検証で使いたい気がするので、今回は見送り(感情的なものに近い)
  • Microsoft Power Automate
    • Pros
      • 連動してるアプリが多く、結構実践的に使えそうな気もする
      • 一応、少しだけ触ったことはある
    • Cons
      • 個人の無料アカウントで使うにはめんどくさそうな感じだった
  • Integromat
    • Pros
      • サービス同士の結合力をいい感じに高められそう、自由度が高そう
      • 比較的優良プランやすそうなので、個人で課金するなら検討するかも
    • Cons
      • 今回要件である Twitter 周りが有料プランに含まれていて、期限付きのトライアルでしか使えない
  • Automate.io
    • Pros
      • 個人的には割と直感的に操作可能だった
      • 比較的優良プランやすそうなので、個人で課金するなら検討するかも
    • Cons
      • Webhook が有料プランだった(今回は Discord の post send が無料だったので、そっちで事足りた)

比較検討の際に見たサイトはこちら

設定

ISUCON のツイートより自分のアカウントからツイートする方が動作確認としては楽なので、ここでは自分のツイートをターゲットにします。

Bots のタブクリック、 Create a Bot をクリックして新しいアクションを定義します。

Botsのタブクリック、  をクリック

設定はこんな感じ。読み上げとかは不要かなと思ったのでやってません。

画像は Twitter アカウントに設定されている画像リンクを張っています。

設定する

Save すると次の画面に行くので、 I'm done ボタンを押してテストするとよいでしょう。

I'm done押してテスト

うまくいけばこんな感じに発言が流れるはずです。

実行結果

あとは 15 分くらい? で実行されてるっぽいです。

(補足):Twitterの検索クエリ

例では僕のツイートを探していますが、ISUCON 公式の Twitter が流したければ from:@isucon_official とすれば良いです。

他の Twitter の検索例については、下記のリンクが参考になるでしょう。

高度な検索の使い方 – ツイート、ハッシュタグなどを検索

感想

IFTTT のプラン変更で、いろいろほかのツールを試してみたいと思っていたところだったので、良い機会になりました。

自動化ツールの「IFTTT」が有料化!無料で作れるアプレットは3つまでに変更。 | WEBマスターの手帳

あとは個人で使いやすかったり、会社で使いやすかったり、とツールによって特色があるように思えるので(料金プランとか連動しているサービスとか考えると)、使い分けしようかなと思います。

とはいえお金があるなら課金して安定しているサービスを選択するのが良い気がします(僕はいろいろ試したくなったので、マイナーなところに落ち着きましたが…)。

今回は募集が始まってから ISUCON のツイートを Discord に流そう! と考えましたが、来年はある程度チーム構想ができた時点で仕掛けておきたいです…(例年 ISUCON の募集は熾烈になっているので)。

追記

ISUCON のメンバーを 1 人募集しています。スタンスとしては下記ですので、興味がありましたら twitter: @__yumechi まで声をかけてください。

  • 目的は学習
    • 過去のコンテストで行われたうまい方法を練習がてら試して学びたい
    • ミドルウェア周りを学びたい
      • MySQL, nginx など
    • やったことがない言語に挑戦したいので、Rust をこれから勉強しようと思っている
      • ムリだったら当日オペレーションで Python なり Ruby なりに差し替える
    • 監視系もできればやりたい
      • 何があるのかいまいちわかってない
  • 目標は正の点数を取る
    • 参加できてる時点で達成といっても過言ではない(これは罠で、再起動テストの失敗やモデルの完全な破壊により 0 点を取ることもあり得る)
    • 半分より上には入りたい

Discussion

ログインするとコメントできます