習作
とりあえず、サイコロを振ってくれるbot「Diceだよ!」を作ってみた。*1
余談だが、こういうメンションに反応してリプライを返す系のbotの場合、新デザインの「固定されたツイート」として簡単なマニュアルを貼り付けておけばいいかも。
■使い方 @diceda4 宛に、振って欲しいダイス(サイコロ)の数と種類をツイートして下さい。振った結果をリプライします。 例)@diceda4 3D6 (6面体ダイスを3個振ってね)
— Diceだよ! (@diceda4) April 24, 2014
D66やD99なんかのダイスコードには対応していません。代案として、D66→2D6として、最初の数字を10の位、次の数字を1の位にして下さい。D99→1D100として、100が出たら0とみなしてください。
2014-04-25 00:04:47 via web to @diceda4
ただ、こういう応答を返すbotだと、どうしても1000ツイート/日までという制限がネックになるよな。まぁ、このbotの場合はそこまで使われるわけもないが。
他に試してみたかったことなど
Streaming APIを使って指定時刻にリプライくれるリマインダーとか、特定キーワードでフィルタかけた上で位置情報を使って地域ごとの分布調査とか、考えてはみたけれど。リプライ用のAPI制限きつかったり、位置情報有効にしている人が少なかったりで、なかなかうまくいかなさげ。
2014-04-24 21:30:14 via web
リマインダー
時刻を指定してメンションとかDMしておけば、その時刻になったときに応答を返してくれるようなbotを作ってみたかった。
ネックは、1000ツイート/日。個人用としてなら十分なのだけれど、公開して使ってもらおうとすると足りなくなるのは目に見えているしな…。
- 受信はひとつで、応答用に複数のbotを使いまわす→botの乱立は睨まれるし、(特にDMを使うような場合)フォロー関連の処理等がややこしいことになりそう。
- アプリ連携させてその人のタイムラインにツイート→自分宛のリプライは通知してくれないので気づかなさそう。
特定キーワードを含むツイートの地域分布の調査
例えば、「ゆれ」「揺れ」等をキーワードに地震が発生した地域の調査とか、「インフルエンザ」等をキーワードに流行地域の調査とか。
ただ、これ、ツイートするときに位置情報が付加されていないと意味がないんだよね…位置情報付きのツイートって、どのくらいあるんだろう…?と思って、簡単にだけれど調べてみたところ…。
Streaming APIのstatuses/sampleを使用して、300,000件のツイートを調査。
■結果
※300,000件時(約2時間経過)
全ツイート数 | 日本語ツイート数 | 日本語の割合 |
---|---|---|
300,000件 | 86,738件 | 28.913% |
全ツイート数 | 位置情報含 | 割合 |
---|---|---|
300,000件 | 5,191件 | 1.730% |
日本語ツイート数 | 位置情報含 | 割合 |
---|---|---|
86,738件 | 409件 | 0.472% |
※3,000,000件時(約16時間経過)
全ツイート数 | 日本語ツイート数 | 日本語の割合 |
---|---|---|
3,000,000件 | 532,158件 | 17.739% |
全ツイート数 | 位置情報含 | 割合 |
---|---|---|
3,000,000件 | 58,183件 | 1.939% |
日本語ツイート数 | 位置情報含 | 割合 |
---|---|---|
532,158件 | 2,237件 | 0.420% |
※約24時間経過時
全ツイート数 | 日本語ツイート数 | 日本語の割合 |
---|---|---|
4,308,000件 | 809,078件 | 18.781% |
全ツイート数 | 位置情報含 | 割合 |
---|---|---|
4,308,000件 | 83,992件 | 1.950% |
日本語ツイート数 | 位置情報含 | 割合 |
---|---|---|
809,078件 | 3,648件 | 0.451% |
やはりというか、位置情報を含むツイートは少ないので、地域分布のデータとして有効なものが取れるかというと、微妙なところだろう。
*1:アイコンはフリー素材: サイコロの背景画像 2・透過pngアイコン - Kappaa CG Galleryに置かれていたフリー素材を使用させていただいた。