以前、Bloggerの更新情報をBlueskyに投稿する仕組みをIFTTTとGoogle Apps Script (GAS) を組み合わせて構築しました。今回はその第二弾として、X (旧Twitter) の投稿をBlueskyにクロス投稿する機能を開発しました。
IFTTTとGASでクロス投稿に挑戦
今回も前回と同様に、IFTTTとGASを連携させて機能を実現しています。前回との大きな違いは、GASスクリプトの大部分をGeminiに作成してもらった点です。
Geminiを使ってみて感じたこと
実際にGeminiにスクリプト作成を依頼する中で、いくつかの気づきがありました。
良い点
- 新規スクリプト作成がとにかく手軽: GASに詳しくなくても、要望を伝えるだけで、ある程度動作するスクリプトを提示してくれるため、開発の手間が大幅に削減されました。
- バグ修正や改修の柔軟性:バグが発生した場合でも、動作ログを伝えれば修正してくれますし、参考になりそうなサイトのURLを共有すれば、それを踏まえて改修してくれるのは非常に便利でした。
難しい点
- 既存スクリプトへの機能追加や処理見直し: 一度完成したスクリプトに機能を追加したり、処理を見直したりする際は、新規作成時よりも試行錯誤が増える傾向にありました。既存スクリプトの内容と要望を伝えると、機能追加や処理の見直しはしてくれるものの、Geminiが全く無関係な箇所まで勝手に改変してしまうことが多々あり、それまで正常に動作していた処理まで壊れてしまうことが少なくありませんでした。
- 想定外の改変にイライラ:禁止事項を伝えても、スクリプトが呼び出しているライブラリ関数を、全く実在しない関数名に勝手に置き換えるなど、理解しがたい改変を平気でやらかすこともあり、正直なところイライラさせられる場面もありました。
まとめ
結果として、Geminiの助けを借りてXからBlueskyへのクロス投稿は実現できましたが、想像していた以上に手間がかかったというのが正直な感想です。
それでも、GASの知識がほとんどない状態から今回の機能を実現できたのは大きな収穫でした。今回の経験で理解できたGeminiの特性や癖を踏まえつつ、特にIFTTT単体では実現が難しいBluesky関連の機能で、今後もGeminiを活用していきたいと考えています。
コメント
コメントを投稿