blob: 59be3644a9c6db384989955c6c4eda2e771ef1c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
var client
var globals = require('./globals.js')
module.exports.init = function(myClient) {
client = myClient
}
function sendMsg(message, channel) {
client.say(channel, message);
var chanTab = $("[data-tab='"+ channel +"'].chat");
chanTab.append("<p class='chat-line'><" + myNick + "> " + message +"</p>");
chanTab.scrollTop(chanTab.prop("scrollHeight"));
}
function sendPm(message, nick) {
var chanTab = $("[data-tab="+nick+"].tab");
$(".active").removeClass("active");
numChans = globals.channels.length
if (chanTab.length == 0) {
$(".ui.menu").append("<a class='active item' data-id='"+numChans+"' data-tab='"+nick+"'>"+nick+"</a>");
$("#chan-container").append("<div class='ui active tab' data-id='"+numChans+"' data-tab='"+nick+"'></div>");
chanTab = $("[data-tab="+nick+"].tab");
chanTab.append("<div class='ui segment chat' data-id='"+numChans+"' data-tab='"+nick+"'></div>");
$('.menu .item').tab({history:false});
globals.channels.push(nick)
numChans++;
}
$("[data-tab="+nick+"]").addClass("active");
var chatTab = $("[data-tab="+nick+"].chat");
console.log(nick + ': ' + message);
client.say(nick, message);
chatTab.append("<p class='chat-line'><" + myNick + "> " + message +"</p>");
chatTab.scrollTop(chanTab.prop("scrollHeight"));
}
module.exports.setTopic = function(channel, topic) {
client.raw("TOPIC", channel, topic);
}
module.exports.joinChannel = function (channel, sendJoin) {
numChans = globals.channels.length
var channelObj = client.channel(channel);
if (sendJoin) {
channelObj.join();
channelObj.say("beep");
}
chanId = $(".active.chat").attr("data-id")
$(".active").removeClass("active");
$(".ui.menu").append("<a class='active item' data-id='"+numChans+"' data-tab='"+channel+"'>"+channel+"</a>");
$("#chan-container").append("<div class='ui active tab' data-id='"+numChans+"' data-tab='"+channel+"'></div>");
var chanTab = $("[data-tab='"+ channel +"'].tab");
chanTab.append("<div class='ui selection list users' data-id='"+numChans+"' data-tab='"+channel+"'></div>");
chanTab.append("<div class='ui segment chat' data-id='"+numChans+"' data-tab='"+channel+"'></div>");
chanTab.append("<div class='ui topic' data-id='"+numChans+"' data-tab='"+channel+"'></div>");
$('.menu .item').tab({history:false});
globals.channels.push(channel)
numChans++;
}
module.exports.removeChannel = function(channel, sendPart) {
var channelObj = client.channel(channel)
chanId = $("[data-tab='"+channel+"'].chat").attr("data-id");
$("[data-tab='"+channel+"']").remove();
if (sendPart) {
channelObj.part();
}
while ($("[data-id="+(chanId-1)+"]").length == 0 && chanId >=0) {
chanId--;
}
$("[data-id="+(chanId-1)+"]").addClass("active");
}
module.exports.whois = function(nick) {
client.whois(nick);
}
module.exports.list = function() {
client.raw("LIST")
}
|