47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
|
var output;
|
||
|
var hostport;
|
||
|
var proto;
|
||
|
var password;
|
||
|
function init() {
|
||
|
output = document.getElementById("output");
|
||
|
hostport = prompt("Enter hostname:port of WeeChat/relay", "hostname:5000")
|
||
|
proto = prompt("Protocol (weechat / irc)", "weechat")
|
||
|
password = prompt("Password (for relay)", "")
|
||
|
websocket = new WebSocket("ws://" + hostport + "/weechat");
|
||
|
websocket.onopen = function(evt) { onOpen(evt) };
|
||
|
websocket.onclose = function(evt) { onClose(evt) };
|
||
|
websocket.onmessage = function(evt) { onMessage(evt) };
|
||
|
websocket.onerror = function(evt) { onError(evt) };
|
||
|
}
|
||
|
function onOpen(evt) {
|
||
|
display("connected", "Connected to " + hostport);
|
||
|
if (proto == "weechat") {
|
||
|
doSend("init password=" + password + "\ninfo version\ntest\n");
|
||
|
} else {
|
||
|
doSend("PASS " + password + "\r\nNICK test\r\nUSER test 0 * :test\r\n");
|
||
|
}
|
||
|
}
|
||
|
function onClose(evt) {
|
||
|
display("disconnected", "Disconnected");
|
||
|
}
|
||
|
function onMessage(evt) {
|
||
|
display("recv", "⇒ " + evt.data);
|
||
|
}
|
||
|
function onError(evt) {
|
||
|
display("error", "ERROR: " + evt.data);
|
||
|
}
|
||
|
function doSend(message) {
|
||
|
msgs = message.replace(/[\r\n]+$/g, "").split("\n");
|
||
|
for (var i = 0; i < msgs.length; i++) {
|
||
|
display("sent", "⇐ " + msgs[i]);
|
||
|
}
|
||
|
websocket.send(message);
|
||
|
}
|
||
|
function display(class_name, message) {
|
||
|
var div = document.createElement("div");
|
||
|
div.className = class_name;
|
||
|
div.innerHTML = message;
|
||
|
output.appendChild(div);
|
||
|
}
|
||
|
window.addEventListener("load", init, false);
|