Rubyプログラミング不要!mikutterでBotを作ろう
明けましておめでとうございます。
これは「あー正月ってテレビもつまんないしマジすることないよねー」カレンダー (なにそれ?)2日目の記事です。
今回は拙作プラグインmikutter-extract-fire-commandを使って、コードを一切書かずにTwitter Botを作る方法をご紹介したいと思います。
mikutter-extract-fire-commandについて
mikutter-extract-fire-commandは抽出タブの抽出結果にmikutterコマンドを適用するプラグインです。このプラグインを使うとPlaggerの様に他のWebサービスと連携を取ったり、特定のツイートに反応してちょっとしたマクロ処理が出来るようになります。
mikutter-extract-fire-commandの詳細は、過去に書いた記事を参照してもらえればと思います。
# またえっらい自画自賛だな当時の俺・・・。
定刻につぶやくBotを作ろう
さて、ここからが今回の本題です。
まずは一定時間ごとにメッセージをつぶやくシンプルなBotを作ってみましょう。
例として僕のTLで流しているマイクラサーバの宣伝Botをご紹介します。
(1) プラグインの導入
まず初めに、次のプラグインを導入します。
- mikutter-extract-fire-command
前述の抽出タブの抽出結果にコマンドを適用するプラグインです。
- mikutter-kopipe
あらかじめ定義したメッセージをツイートするコマンドが作れるプラグインです。
- mikutter-datasource-clock
みくったーちゃんが時刻を教えてくれるプラグインです。
(2)投稿するメッセージを作成する。
プラグインの導入が終わったら、mikutter-kopipeに定期的につぶやきたいメッセージを登録していきます。
~/.mikutter/の下にkopipeディレクトリを作成して、下記のYAMLファイルを作成してください。
title: AQUA Craftの宣伝 text: - | Minecraftサーバ"AQUA Craft"やってます。 araaraufufu.xyz マップ:http://araaraufufu.xyz シングルが寂しくなったくらいの人におすすめです。 駅近未開拓地多数。自由に開拓してください!
ファイル名は拡張子が.yamlであれば任意です。
ここではkopipe_aqua_craft.yamlとでもしておきましょう。
一度mikutterを再起動して、右クリックメニューに「AQUA Craftの宣伝」が追加されていることを確認してください。
(3)抽出タブの設定
(a)データソース
1分周期で現在時刻をつぶやくデータソース「時計」を選択します。
(b)絞り込み条件
今回は1時間ごとに通知させたいので、毎時00分のメッセージのみを取り出します。
(c)適用するコマンド
さっき作った「AQUA Craftの宣伝」を適用させます。
これで毎時00分が来るたびに「AQUA Craftの宣伝」コマンドが実行され、宣伝メッセージが自動ツイートされます。時間を呟くだけの存在意義不明なデータソースが、Botのタイミング生成の要になっているところが面白いですね。
特定の言葉に反応するBotを作ろう
続いて、ホームタイムラインの特定のメッセージに反応する愉快なBotを作っていきます。
ここでは「あひる焼き」に反応して火に油を注ぐメッセージを返してみます。
(1)プラグインの導入
今回はmikutter-extract-fire-commandとmikutter-kopipeのみを利用します。
(2)投稿メッセージの作成
ここでもmikutter-kopipe用のメッセージを定義するのですが、mikutter-kopipeのサンプルにあひる焼きを応援するメッセージ(4種)をランダムにつぶやく奴があるので、今回はそれを使います。
~/.mikutter/の下にkopipeディレクトリを作成して、mikutter-kopipe/sample/kopipe_ahiru_yaki.yamlをコピーしてください。
(3)抽出タブの設定
(a)データソース
ホームタイムラインを選択します。
(b)絞り込み条件
次の条件を定義します。
本文に「あひる焼き」を含み、 自分の投稿でなく、 本文に自分の名前を含まない。(あひる焼くなプラグインのリプライを対象外にする)
(c)適用するコマンド
サンプルのあひるを焼く(ランダム返信)を適用させます。
これで、誰かが「あひる焼き」と呟くたびにいちいち茶々ツイートを嚙ますことができるようになります。
あひる焼きゲームよ永遠なれ!
おわりに
今回のBotやmikutterの薄い本 vol.7(もうすぐ通販も始まるよ!)に掲載の「SlideShareのスライドをはてなブックマークに転送する芸」など、mikutter-extract-fire-commandは様々な用途に応用が効く物と思います。
ぜひぜひ皆さんなりの面白い使い方を編み出してください!
では、本年もよろしくお願いします。