Mastodon用BOTの運用

<景品表示法に基づく表記>当ブログはAmazonアソシエイト等の広告を利用しています。

現在Mastodonにて以下のBOTを運用しています。

能美クドリャフカBOT

 

現状トゥートのみの機能で、重複処理と時間によって一部変更してる程度ですかね。
至ってシンプルです。
セリフのテキストファイルもTwitterで使用していたものですし。

 

一応、環境としては以下になります(ローカル環境は全てWindows)。

 

Cronは元々CORESERVERのものを使用していましたが、最低実行単位が1時間なので他を探していたところ、Cloud Schedulerなら3つまで無料ということで、そちらに移行することにしました(GCPの習得も兼ねています)。

何気に苦労したのは、文字エンコードとパスの指定、Cloud SDKのインストールあたりでしょうか。

Internal Server Errorが出る原因がいくつもあり、パーミッションはベタですけど、テキスト処理にてUTF-8を指定していないとダメだったり、パスがフルパスじゃないとダメだったり(これはシェルスクリプトの実行環境から見てということに気付かなかった)。

Cloud SDKについてはPython2.7.9以降が必要なのですが既にPython3をインストールしていてデフォルトでそちらを実行するようになっていたため結構苦労しました。というか、ほぼ1日潰れましたかね…結局BundlePythonを外して既にインストールしたPython2.7を指定するようにしたら上手くいきました、多分…

というか、Python2系ってサポート終了まであと10日切ったじゃないですか。
Googleさんどうするんですかね…

 

今後やりたいこと

  • 画像トゥート(追加済み)
  • 時間毎のトゥートを外部ファイル読み込み方式に
  • リプライ(挨拶程度)
  • 本体もGCP上に
  • 認証方式をOAuthに(これはちょっと悩み中

 

今回の件とは関係ないですが、トゥート・お気に入り・ブックマークなんかのログ取得、フォロー・フォロワー推移あたりのサービスを大まかに設計したりフレームワーク作ったりしてます。まぁ、TwilogMastodon版ですね。

何故かLogdonがうちの環境では全くログ取得してくれなかったのと、どうせなら自分で好き勝手にやった方が楽しいよねってことで…