てくてっく

テック系・Maker系忘備録をつけていきます。

Twitter→Misskeyへ自動クロスポストする方法

Twitter→MisskeyへIFTTTを使用し自動クロスポストする方法

このドキュメントは

IFTTTを使って、Twitterで呟いたツイートを自動でMisskey.ioにもノートする方法の忘備録です。

注意

Fediverseではマルチポストを特に規制してはいません。しかし、必ず以下の点に考慮するべきとしています。

  • クロスポスト先で脈絡のないノートが投稿される点に留意する。
  • メインプラットフォーム(特にTwitterのツイートへのリンク)を避ける。
  • TwitterでのRTをFediverse側(Misskey側)に投稿しない設定にする。
  • URL短縮サービスは使用しない。

参考

必要なもの

  • Misskey.ioのアカウント
  • Twitterのアカウント
  • IFTTTのアカウント

方法

  1. Misskey.ioでAPIアクセストークンを取得する

    Misskey API | Misskey Hub

    上記を参考に、Misskey APIアクセストークンを取得します。 具体的には

    1. Misskey.ioのホーム画面の左パネルの設定→その他の設定欄の"API"を選択
    2. "アクセストークンの発行"ボタンを押す
    3. 適切な名前をつける。例えば「Twitter連携用」など(つけなくても可)
    4. 権限は"ノートを作成・削除する"を選択
    5. 表示される確認コードを控える

    確認コードがアクセストークンとなります。

  2. IFTTTでAppletを作成する

    1. IFTTTにログインし、右上のCreateをクリック
    2. If ThisのAddボタンを押し、Twitterを検索して選択
    3. New Tweet by youを選択
    4. TwitterアカウントとIFTTTアカウントの連係がまだの場合は、ここでTwitterアカウントを追加
    5. Fediverse利用上のベストプラクティスを踏まえ、Include欄のretweets, @repliesにはチェックを入れない
    6. Create triggerを押す
    7. Then Thatには、Webhooksを検索し選択
    8. Make a web requestを押す
    9. URLにはhttps://misskey.io/api/notes/createを入力
    10. MethodPOSTを選択
    11. Content Typeapplication/jsonを選択
    12. Body欄に以下のように入力

      {
       "i" : "1-5で得たアクセストークン",
       "text" : 
      }
      

      アクセストークンは"で囲むのを忘れないで下さい。

    13. Add ingredientを押し、Textを選ぶ

    14. 最終的にBody欄が以下のようになればOK

      {
       "i" : "1-5で得たアクセストークン",
       "text" : {{Text}}
      }
      
    15. Create actionを押す

これで、作成したAppletが有効であれば、Twitterでツイートした際に、ツイートの{{Text}}に該当する部分、即ちツイート本文がMisskey.ioにも投稿されます。

IFTTTの仕様上、常に同時にとはいかず、数分おきに新規ツイートがないか確認され、あればMisskey側にも送られます。

また、IFTTT側のサーバー負荷などにより、確認が失敗する場合もあります。

参考文献