- 現在のこのサイトに設置されているAJAX Chatのベータ版(および安定版)を対象にしています。他のサイトで使えるか、バージョンアップしても使えるかはわかりません。
- Windows上のFirefoxで実験しました。他のブラウザで動くかはわかりません。
- この情報を活用した結果、発言を消される、BANされる、訴訟されるなどの不利益を被っても、筆者は一切責任を負いません。
AJAX ChatにJavaScriptを用いて自動投稿をしてみました。
チャット画面のソースを見ると、入力欄がid="inputField"で、送信ボタンを押すとajaxChat.sendMessage();が実行されることがわかります。
従って、id="inputField"の要素に投稿したい内容を入力し、ajaxChat.sendMessage();を実行すると、投稿できそうであることがわかります。
投稿を行う前に、嘘つきのChatBotに注意しましょう。
ChatBotさんは、なぜか1分以内に21回以上投稿しようとすると、嘘のエラーメッセージを伴うエラーを出します。 この画像では、たった14×20=280文字投稿後、もう14文字投稿しようとした時点で「エラー : 1分あたりに発言できる最大文字数を超えています」と出ていますが、
これは大嘘であり、その後1分以内に294文字を遥かに超える1040文字の発言に成功しています。
(この問題については一応不都合報告済みです)
といっても、1分間に21回以上投稿しようとするとChatBotの妨害を受けるようなので、1分あたり20投稿までに抑えるようにしましょう。
すなわち、投稿の間隔をだいたい3秒以上あければよさそうです。
というわけで、実装例です。
チャット画面でWeb コンソールを開き、これを貼り付けて実行すると、文字で名状しがたい三角形のようなものが描けるはずです。
実行するとタイマーIDをコンソールに出力するので、途中で止めたい場合はclearIntervalを用いてください。
(function() {
var str = "あやねる";
var d = 1;
var max = 16;
var cur = 1;
var tid = setInterval(function() {
var message = "";
for (var i = 0; i = max) d = -1;
cur += d;
if (cur = max) d = -1;
cur += d;
if (cur <= 0) clearInterval(tid);
}, 3100);
console.log("id = " + tid);
})();
おまけ
あやねる
[nico]http://www.nicovideo.jp/watch/1435827441[/nico]
あやねる
[nico]http://www.nicovideo.jp/watch/1412911645[/nico]