はじめてのtwitterボットづくり

先日、twitterのボットを3つ立て続けに公開しました。
┣”┣”┣”┣”┣”┣”…と擬音が響きそうな、ジョジョ3~5部で特に好きで名言の多いキャラをボット化してみました。ジョースターの血統がいないのは単なるボクの趣味です。
ボットについての説明を下記へ残します。
ボット3つの共通点
「おはよう」から「おやすみ」まで、あなたの呼びかけに反応し生活を見守るボットです。
また作中のいくつかのシーンに対応するようにしています。
比較的反応しやすいように主に単語で設定しているので、色々試してみてください。
2時間に1回と、ウザがられない程度にランダムで投稿するように設定していますが、twitterは「同じ内容は24時間受け付けない」という仕様があるので、ランダムで同じ内容に当たった場合は発言できないため、確実ではありません。
また設定の都合上、1回の呼びかけに2回反応することや全く反応しない場合もありますが、そこはまぁご愛嬌ってことで…
フォロー返しについて
フォロー返しはプライベート以外するというポリシーで実行しています。
そもそも下記で紹介する自動フォローツールがプライベートを飛ばすという作りだったからなのですが、見ようと思えばボクが見えちゃうので、よろしくないと思ったという理由もあります。
またプライベート設定以外に、投稿数が少なかったり英語だけだとスパム判定にかかりフォローしないようなので、アカウント取り立ての方はご了承ください。
DIO様との接し方について

文頭に「@Dio_bot」で話しかけることで、基本的に殺傷してきます。
敬愛を込めた呼び方をすればそこまで悪い態度は取りません。
同じタイプのスタンドで攻撃すれば応戦しますし、たった一つのシンプルな答えさえあれば倒すこともできます。
露伴先生への取材について

文頭に「@Rohan_Kishibe」で話しかけることで、居丈高に応えてくれます。
露伴先生という人物像を知らないとほとんどケンカを売っている台詞になるので、ご了承ください。
「グー」「チョキ」「パー」でジャンケンすることができます。
しかし露伴先生は自分の運すら乗り越えようとしているので、勝率は単純な三分の一ではありません。そこまで絶望的な数字にも設定していないので、運試し程度に思ってください。
ブチャラティとの会話について

文頭に「@B_Buccellati」で話しかけることで、ギャングの生き様を教えてくれます。
部下思いなのでいくつかの人名に反応するようにしています。
名言が一番多いと思うんですが、その分ネタ的要素の薄い人物像なので、最も調整が必要だと感じています。
ボット制作に利用したモノ
ソースコード
ボットを作るにあたって下記pha氏のコードを元に利用させてもらっています。
プログラミングができなくても作れるtwitter botの作り方
Cronサービス
現在利用しているサーバだとcronが使えないため、下記cronサービスを利用しています。
cron-job.org
追記:12月末ごろよりcron設定が勝手に消えるなどしたので下記サービスへ変更しました。
最短で5分間隔とcron-jobより遅いですが、安定してるっぽいです。
Cronjob.de
フォロー返しツール
フォロー返しには下記の自動フォロー返しツールをバッチで動かしています。
Twitter自動フォロー返しツール
あまり増やすのも芸が無いので、ジョジョ系ボットに関してはこれ以上作る気はありません。
ジョジョ系についてはね!
現在の問題など
とにかくcron-job.orgが仕事をしないッッッ!!!
なぜかDIO様に限って安定して動いてくれているのですが、露伴とブチャラティに関してはレスを返さないということが多発しているようで、せっかく呼びかけている人に空しい思いをさせてしまい、申し訳なさ過ぎてワムウのように泣きじゃくりたい(´;ω;`)
特に「チョキ」とかジャンケンを無視されると超キビシー(実体験に基づく)
他に何か良いサービスがあればいいんですが、cronの使えるサーバに引っ越したくもあります。
追記:cron-jobがひどい状態になったため、上記の通りCronjob.deへ移行しました。こっちもドイツ語ですが、エキサイトに翻訳すればイけると思います、ハイ。
あとがき
pha氏の公開された上記の記事を読んで以来、作りたいなと思っていましたが、思っている以上に簡単でした。
元々自分は知人程度しかフォローしない方針だったので、twitter内では視野の狭いユーザだと思うのですが、今まで自分のアンテナにかからなかったタイプのユーザの姿も見ることができ、結構な発見がありました。
正直なところ今回試して何が一番良かったかというと、複数アカウントを取る上でGmailのエイリアス機能がビックラこくほど便利だったということでシメたく思います。ハイ。















みみ 2009.11.26, 12:56
DIOの画像ジャギってるから再うpしなおしてください
KaBuKi 2009.11.26, 21:13
お知らせありがとうございます。
twitterの仕様的にジャギったりジャギらなかったりするようなので放置してたのですが、再うpしてみたらジャギーが解消されたようです。
gmainasu 2010.01.12, 22:27
良い感じのボットですね!
ボット居るかなと、アカウント取得で色々打ってみると、
類似アカウントが取られまくっているので笑いました。
ディオ様の
「世界(ザ・ワールド)」 時よ止まれッ!
時は動き出す
がワンセットで、途中に他の投稿が挟むスキなく連投されたりすれば
時が止まったようで良いですね。
(他の投稿が挟まったら、時の中を動けた感じ?)
KaBuKi 2010.01.13, 21:52
コメントありがとうございまッス!
ディオ様ボットを作って以降、ジョジョ系ボットもぽつぽつ見られるようになってきて嬉しい限りですが、他にボット作れないかな~と探してみると結構アカウントだけ先取りされてたりしますね。
アイディアもありがとうございます。
ちょっと工夫すればできそうなんで、検討してみますね。
ほんの初歩的な知識さえあればボットは簡単に作れるんで、試してみてはどーでしょうかッ!