summaryrefslogtreecommitdiff
path: root/commands.js
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'>&lt;" + myNick + "&gt; " + 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'>&lt;" + myNick + "&gt; " + 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")
}