2023年12月10日

節気さん Bot(月齢君+節気さん)復活大作戦

【動き出すまで】

以前、Twitter で、節気さんシリーズというBotを動かしていました。
ただ、これは、Twitter側から何度もSPAM認定されてしまい、そのたびに、運営側に説明するのに疲れて 2021年5月に停止しました。

このたび、Misskey で再稼働の運びとなりました。
@sekki_getsurei@misskey-square.net
です。

実は、Twitter のアカウント自体も継続するか削除するかの迷いもあったりしました。
で、そうこうするうちに Misskey に出会いました。
※発端は、「通信用語の基礎知識」(https://www.wdic.org)さんが、misskey.io にいますとお書きになっていたのがきっかけ。

そういうわけで、いったんは misskey.io に登録したものの、その後、様々なサーバーを眺めつつ、一ヶ月ほどで、misskey-square.net に移動しました。
そこでまあ、APIを眺めてみると、「これはBot動かせそう」という結論となり、早速トライしました。

で、一番の壁は、技術的な難しさではなく、「24時間稼働しているパソコンをどう確保するか?」でした。
Twitter 時代は、2万円のWindowsパソコンが遊んでいたので、それを使っていましたし、一時、さくらの VPS のお世話になったこともあります。

が、私の場合、Bot本体(特に、天文計算の部分)が、Windows 上の C++Builder に、というか、その、独自のライブラリに大きく依存しています。
※具体的には、日時(TDateTime)と文字列処理(AnsiString)。
このため、VPSを使うにも、「Windows ベース」のVPSが必要で、1,000円/月で使えるサービスはありませんでした。
Botのためだけに、これはちょっと困る。

当時あった、2万円のパソコンも、今では動作が非常に不安定。

というわけで、常時稼働のパソコンが最初の壁でした。
そこで、改めて周りを見渡すと……あったのです。IFTTTのサーバーが(おいおい)
IFTTTのサーバーは(当然ながら)24間稼働ですし、IFTTTのアプレット稼働トリガとして、「毎時間」というのがあります。
これを使う方法で「常時稼働のパソコン」を手に入れました。

つまり、もともと、C++Builder で作っていたBotのプログラムで、一定期間(実際には、月齢君は 28日、節気さんは、180日)の出力リストを作成します。
このリストに、出力すべき、年・月・日・時間(時間は、月齢君のみ)をセットにして、IFTTT のフィルターに書いておきます。
毎時間毎に IFTTT のアプレットが稼働しますので、そのときの時刻を確認して、出力すべきデータがあれば出力すると、そういう単純なフィルタを作成しました。

Misskeyへの出力は、IFTTT の That に Misskeyはないので、ちょっと悩みましたが、IFTTT の WebHoch を使えば、簡単に実装できることがわかりました。
これで、Misskey で実現する Bot の基本部分が完成しました。

------------------------------------------------------------------------------------

【Misskey 上でのあれこれ】

ここで、基本動作はできるようになったのですが、特に、「月齢君」では、月相を絵で表示したいという思いが強くなりました。
Twitter時代に画像は持っていたので、これを、Noteとともに表示することにします。

が、ここで、また、壁が。
Misskey API によれば、メッセージ内容(text)とともに、画像の FileId を送信すれば、その画像を表示してくれるとなっています。
が、この、FileId を私はどうしても探し出すことができませんでした。
で、再度、API を眺めて、画像情報を入手できそうなエントリーを探してそれを試すと、めでたく FileId を入手することができました。

これで、目的は果たせましたが、画像は画像として表示するように、クライアントが最適化されているらしく、わずかな月相を表示するには大きすぎる。
というわけで、画像はやめて、Misskey が誇る「カスタム絵文字」として表示するようにしました。

これで、目的を達成できました。

------------------------------------------------------------------------------------

【画像の著作権問題】

上記で、あっさりと、「Twitter時代に画像は持っていたので」と書きました。
実際、Twitter 時代の月相画像は、三日月の画像を加工して、新月〜満月 を作成したりで、いわば、画像改変を行っていました。
ので、当然、この段階では、改変を含めた利用許可をいただいていました。

が、前述したとおり、Twitter の Bot を削除した時点で、「もう(公開する形では)使わないだろう」ということで、連絡先をなくしてしまっていたのでした。
(大変失礼なことではありますが)

画像を絵文字にする段階で、「著作権はクリアしていますか?」ということがあり、あらためて、
・Misskey での使用許諾は(多分)いただいていない
・そもそも、連絡先なくしてしまった
ということで、自作の画像に差し替えたという事件もありました。

まあ、今から見ると、単にまるを削っただけの「月の絵」と、星が加わったオリジナル画像では、オリジナル画像の方がきれいだななどと思ったりしています。

以上、あれこれありましたが、本日(2023/12/10)Misskey における、Bot 正式スタートとなりました。
めでたし、めでたし。

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/190688171

この記事へのトラックバック