Skip to content

Instantly share code, notes, and snippets.

@fetus-hina
Last active August 29, 2015 14:14
Show Gist options
  • Save fetus-hina/d223cbaf3ded10cd81f4 to your computer and use it in GitHub Desktop.
Save fetus-hina/d223cbaf3ded10cd81f4 to your computer and use it in GitHub Desktop.
ちょまどっぽいど

ちょまどっぽいど (@_chomado_bot)

ちょまどさんのツイートを学習して喋ります。

一部変な機能があります。

フォロー返しについて

基本的にはフォローされた瞬間にフォロー返しを行いますが、一部条件に引っかかった場合は除外されます。

  • ツイートを protected 設定(いわゆる鍵垢)にしている場合
  • ツイートが少なすぎる場合
  • 自己紹介が空の場合や平仮名・片仮名を含まない場合
  • 相互フォローや起業などそっち系のキーワードが含まれている場合

具体的な条件はたぶんこの辺にあります。

なお、フォローが外れたイベントが飛んでこないので自動的にはリムーブ返しはしません。

bot にリムーブしてほしいときはブロックを利用してリムーブするか、@_chomado_bot tartecmd:remove me とツイートします。

(現在はタイムライン反応がないのであまり意味はありませんが、 remove me コマンドは「挨拶とかは要らないがフォローはしておきたい」といった状態でも使えます。フォローした瞬間以外のフォロー返し操作はないので一度リムーブして再度フォローしない限りは bot からフォローされません)

自発的ツイート

現在のところ、必ず学習したツイートを基に喋ります。

コンテキストレスなので前後のつながりはありません。

タイムライン反応

現在のところリプライ以外への反応はありません。

(挨拶リプライなどは行いません)

リプライ反応

原則として学習したツイートを基にリプライを行います。(一部固定の内容もあります)

コンテキストレスなので会話のつながりはありません。

また、リプライの内容は一切解析していませんからまともな内容でも「あ」でも同じです。

一部、次のような変な機能があります。

おみくじ

http://chomado.com/blog/diary/omikuji/ を勝手に実装したものです。

@_chomado_bot おみくじ 等とツイートを送るとおみくじがランダムにリプライされます。

何度でも可能ですが、重複対策はありませんので短時間に同じ内容を引くと何も返ってきません。

(反応キーワード:「おみくじ」)

ホモ

診断メーカーのホモ関連診断を利用してリプライを送ります。

@_chomado_bot ホモ 等とツイートを送ると複数の診断の中からランダムに引きます。

診断メーカーに送信される「名前」は、screen_name (@id) です。

何度でも可能ですが、重複対策はありませんので短時間に同じ診断を引くと何も返ってきません。

@_chomado_bot ホモ chomado 等と [a-z0-9_] が 3~15文字の範囲で含まれたツイートを送ると、その部分を診断メーカーに送信します。(他人を診断できます)

(反応キーワード:「ホモ」)

素数①

@_chomado_bot 12345は素数? 等と「素数」と「(整数)」(1~100桁) を同時にツイートすると、その数字が素数か確認して結果をリプライします。

結果は「素数」「素数ではない」「おそらく素数」の3通りあり、言い切られた場合は確実で、「おそらく素数」の判定が行われた場合は時々間違っていることがあります。

(この処理はPHPの gmp_prob_prime を単純に呼び出すことで実装しており、結果もそれに依存しています)

なお、数値を指定するときに0で始まっていると8進数と解釈し始めるようです。(GMPの実装依存)

(反応キーワード:「素数 (および整数値)」※ただし「次の素数」を除く)

素数②

@_chomado_bot 12345の次の素数は? 等と「次の素数」と「(整数)」(1~100桁) を同時にツイートすると、その数字の次の素数を確認して結果をリプライします。与える数字は素数である必要はありません。

(この処理はPHPの gmp_nextprime を単純に呼び出すことで実装しており、結果もそれに依存しています)

(反応キーワード:「次の素数 (および整数値)」)

天気

@_chomado_bot 名古屋の天気は? 等と「天気」と「(地名)」を同時にツイートすると、その地域の最近の天気(どれくらい前のデータかはツイート中に示されます)と明日の天気をリプライします。

地名が省略された場合は、使用可能な地域の中からランダムに選択します。

利用可能な地名は、都道府県名または政令指定都市の名前です。(県庁所在地は網羅 し て い ま せ ん)

機能/実装的には@chomado_botが定期的にツイートしている天気予報機能のパクりです。同じAPIを使用しています(2015-01-27現在)ので東京を選べば結果もほぼ同じになります。

(反応キーワード:「天気(および地名)」)

IEEE754

@_chomado_bot IEEE754 42 等と「IEEE754」と「(数値)」を同時にツイートすると、数値をIEEE754浮動小数点数(倍精度)で表した時のバイナリ表現を取得できます。

数値は整数値、小数値、指数表現された数値(例えば 1.0e-5 (=1.0×10-5))が指定できます。NaNやINFも与えることが一応できます。

@_chomado_bot IEEE754 0x123456789ABCDEF0 等と「IEEE754」と「0x(16進数)」を同時にツイートすると、IEEE754浮動小数点数(倍精度)のバイナリ表現を数値に変換して取得できます。

この機能はだいたい@kikairoyaのせいです。(参考1参考2)

(反応キーワード:「IEEE754(および数字)」)

位置情報

@_chomado_bot 位置情報 等と「位置情報」の文字とともにロケーション情報をつけてツイートすると、その付近の情報が取得できます。

取得できる位置情報はだいたいのエリア、付近にあるもの、住所、標高です。精度はわかりません。

自宅や会社でまともにロケーション情報をつけてつぶやくと身バレでひどいことになります。十分注意してください。

(反応キーワード:「位置情報(およびロケーション情報)」)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment