Re-implemented all irc-events
This commit is contained in:
parent
abd9099018
commit
4ef13d6a18
@ -74,7 +74,7 @@ button {
|
|||||||
padding: 6px 10px 8px;
|
padding: 6px 10px 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
transition: background .1s, color 5s;
|
transition: all .2s;
|
||||||
width: 160px;
|
width: 160px;
|
||||||
}
|
}
|
||||||
#channels .chan:first-child {
|
#channels .chan:first-child {
|
||||||
|
@ -19,3 +19,7 @@ function Chan(attr) {
|
|||||||
users: []
|
users: []
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Chan.prototype.sortUsers = function() {
|
||||||
|
// ..
|
||||||
|
};
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
var _ = require("lodash");
|
var _ = require("lodash");
|
||||||
|
var Network = require("./network");
|
||||||
|
|
||||||
module.exports = Client;
|
module.exports = Client;
|
||||||
|
|
||||||
@ -8,12 +9,14 @@ function Client(attr) {
|
|||||||
_.merge(this, _.extend({
|
_.merge(this, _.extend({
|
||||||
id: id++,
|
id: id++,
|
||||||
networks: [],
|
networks: [],
|
||||||
|
nick: "",
|
||||||
|
keepAlive: false,
|
||||||
sockets: null
|
sockets: null
|
||||||
}, attr));
|
}, attr));
|
||||||
}
|
}
|
||||||
|
|
||||||
Client.prototype.emit = function(event, data) {
|
Client.prototype.emit = function(event, data) {
|
||||||
if (this.sockets != null) {
|
if (this.sockets !== null) {
|
||||||
this.sockets.in(this.id).emit(event, data);
|
this.sockets.in(this.id).emit(event, data);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@ var _ = require("lodash");
|
|||||||
var moment = require("moment");
|
var moment = require("moment");
|
||||||
|
|
||||||
Msg.Type = {
|
Msg.Type = {
|
||||||
|
ACTION: "action",
|
||||||
ERROR: "error",
|
ERROR: "error",
|
||||||
JOIN: "join",
|
JOIN: "join",
|
||||||
KICK: "kick",
|
KICK: "kick",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
var _ = require("lodash");
|
var _ = require("lodash");
|
||||||
|
var Chan = require("./chan");
|
||||||
|
|
||||||
module.exports = Network;
|
module.exports = Network;
|
||||||
|
|
||||||
@ -8,13 +9,20 @@ function Network(attr) {
|
|||||||
_.merge(this, _.extend({
|
_.merge(this, _.extend({
|
||||||
id: id++,
|
id: id++,
|
||||||
connected: false,
|
connected: false,
|
||||||
slate: null,
|
|
||||||
host: "",
|
host: "",
|
||||||
name: capitalize(this.host.split(".")[1]) || this.host,
|
irc: null,
|
||||||
|
name: capitalize(attr.host.split(".")[1]) || attr.host,
|
||||||
channels: []
|
channels: []
|
||||||
}, attr));
|
}, attr));
|
||||||
|
this.channels.unshift(
|
||||||
|
new Chan({name: this.name, type: Chan.Type.LOBBY})
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Network.prototype.toJSON = function() {
|
||||||
|
return _.omit(this, "irc");
|
||||||
|
};
|
||||||
|
|
||||||
function capitalize(str) {
|
function capitalize(str) {
|
||||||
return str.charAt(0).toUpperCase() + str.slice(1);
|
return str.charAt(0).toUpperCase() + str.slice(1);
|
||||||
}
|
}
|
||||||
|
@ -1,2 +1,21 @@
|
|||||||
module.exports = function() {
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("errors", function(data) {
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.ERROR,
|
||||||
|
from: "*",
|
||||||
|
text: data.message,
|
||||||
|
});
|
||||||
|
client.emit("msg", {
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
if (!network.connected) {
|
||||||
|
if (data.cmd == "ERR_NICKNAMEINUSE") {
|
||||||
|
var random = client.nick + Math.floor(10 + (Math.random() * 89));
|
||||||
|
irc.nick(random);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,36 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
var User = require("../../models/user");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("join", function(data) {
|
||||||
|
var chan = _.find(network.channels, {name: data.channel});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
chan = new Chan({
|
||||||
|
name: data.channel
|
||||||
|
});
|
||||||
|
network.channels.push(chan);
|
||||||
|
client.emit("join", {
|
||||||
|
network: network.id,
|
||||||
|
chan: chan
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var users = chan.users;
|
||||||
|
users.push(new User({name: data.nick}));
|
||||||
|
chan.sortUsers();
|
||||||
|
client.emit("users", {
|
||||||
|
chan: chan.id,
|
||||||
|
users: users
|
||||||
|
});
|
||||||
|
var msg = new Msg({
|
||||||
|
from: data.nick,
|
||||||
|
type: Msg.Type.JOIN
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
id: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,31 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("kick", function(data) {
|
||||||
|
var chan = _.findWhere(network.channels, {name: data.channel});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (data.client == irc.me) {
|
||||||
|
chan.users = [];
|
||||||
|
} else {
|
||||||
|
chan.users = _.without(chan.users, _.findWhere(chan.users, {name: data.client}));
|
||||||
|
}
|
||||||
|
client.emit("users", {
|
||||||
|
chan: chan.id,
|
||||||
|
users: chan.users
|
||||||
|
});
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.KICK,
|
||||||
|
from: data.nick,
|
||||||
|
text: data.client
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,41 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Chan = require("../../models/chan");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("message", function(data) {
|
||||||
|
var target = data.to;
|
||||||
|
var chan = _.findWhere(network.channels, {name: target.charAt(0) == "#" ? target : data.from});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
chan = new Chan({
|
||||||
|
type: Chan.Type.QUERY,
|
||||||
|
name: data.from
|
||||||
|
});
|
||||||
|
network.channels.push(chan);
|
||||||
|
client.emit("join", {
|
||||||
|
network: network.id,
|
||||||
|
chan: chan
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var type = "";
|
||||||
|
var text = data.message;
|
||||||
|
if (text.split(" ")[0] === "\u0001ACTION") {
|
||||||
|
type = Msg.Type.ACTION;
|
||||||
|
text = text.replace(/\u0001|ACTION/g, "");
|
||||||
|
}
|
||||||
|
text.split(" ").forEach(function(w) {
|
||||||
|
if (w.indexOf(irc.me) === 0) type += " highlight";
|
||||||
|
});
|
||||||
|
var msg = new Msg({
|
||||||
|
type: type || Msg.Type.MESSAGE,
|
||||||
|
from: data.from,
|
||||||
|
text: text
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,27 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("mode", function(data) {
|
||||||
|
var chan = _.findWhere(network.channels, {name: data.target});
|
||||||
|
if (typeof chan !== "undefined") {
|
||||||
|
setTimeout(function() {
|
||||||
|
irc.write("NAMES " + data.target);
|
||||||
|
}, 200);
|
||||||
|
var nick = data.nick;
|
||||||
|
if (nick.indexOf(".") !== -1) {
|
||||||
|
nick = data.target;
|
||||||
|
}
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.MODE,
|
||||||
|
from: nick,
|
||||||
|
text: data.mode + " " + data.client,
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,20 @@
|
|||||||
module.exports = function() {
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("motd", function(data) {
|
||||||
|
var lobby = network.channels[0];
|
||||||
|
data.motd.forEach(function(text) {
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.MOTD,
|
||||||
|
from: "*",
|
||||||
|
text: text
|
||||||
|
});
|
||||||
|
lobby.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: lobby.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,21 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var User = require("../../models/user");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("names", function(data) {
|
||||||
|
var chan = _.findWhere(network.channels, {name: data.channel});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
chan.users = [];
|
||||||
|
_.each(data.names, function(u) {
|
||||||
|
chan.users.push(new User(u));
|
||||||
|
});
|
||||||
|
chan.sortUsers();
|
||||||
|
client.emit("users", {
|
||||||
|
chan: chan.id,
|
||||||
|
users: chan.users
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,42 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("nick", function(data) {
|
||||||
|
if (data["new"] == irc.me) {
|
||||||
|
var lobby = network.channels[0];
|
||||||
|
var msg = new Msg({
|
||||||
|
from: "*",
|
||||||
|
text: "You're now known as " + data["new"],
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: lobby.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
}
|
||||||
|
network.channels.forEach(function(chan) {
|
||||||
|
var user = _.findWhere(chan.users, {name: data.nick});
|
||||||
|
if (typeof user === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
user.name = data["new"];
|
||||||
|
chan.sortUsers();
|
||||||
|
client.emit("users", {
|
||||||
|
chan: chan.id,
|
||||||
|
users: chan.users
|
||||||
|
});
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.NICK,
|
||||||
|
from: data.nick,
|
||||||
|
text: data["new"]
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,22 @@
|
|||||||
module.exports = function() {
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("notice", function(data) {
|
||||||
|
var lobby = network.channels[0];
|
||||||
|
var from = data.from || "*";
|
||||||
|
if (data.to == "*" || data.from.indexOf(".") !== -1) {
|
||||||
|
from = "*";
|
||||||
|
}
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.NOTICE,
|
||||||
|
from: from,
|
||||||
|
text: data.message
|
||||||
|
});
|
||||||
|
lobby.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: lobby.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,34 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("part", function(data) {
|
||||||
|
var chan = _.findWhere(network.channels, {name: data.channels[0]});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (data.nick == irc.me) {
|
||||||
|
network.channels = _.without(network.channels, chan);
|
||||||
|
client.emit("part", {
|
||||||
|
chan: chan.id
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
var user = _.findWhere(chan.users, {name: data.nick});
|
||||||
|
chan.users = _.without(chan.users, user);
|
||||||
|
client.emit("users", {
|
||||||
|
chan: chan.id,
|
||||||
|
users: chan.users
|
||||||
|
});
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.PART,
|
||||||
|
from: data.nick
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,28 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("quit", function(data) {
|
||||||
|
network.channels.forEach(function(chan) {
|
||||||
|
var user = _.findWhere(chan.users, {name: data.nick});
|
||||||
|
if (typeof user === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
chan.users = _.without(chan.users, user);
|
||||||
|
client.emit("users", {
|
||||||
|
chan: chan.id,
|
||||||
|
users: chan.users
|
||||||
|
});
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.QUIT,
|
||||||
|
from: data.nick
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,23 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("topic", function(data) {
|
||||||
|
var chan = _.findWhere(network.channels, {name: data.channel});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var from = data.nick || chan.name;
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.TOPIC,
|
||||||
|
from: from,
|
||||||
|
text: data.topic,
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,19 @@
|
|||||||
module.exports = function() {
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("welcome", function(data) {
|
||||||
|
network.connected = true;
|
||||||
|
irc.write("PING " + network.host);
|
||||||
|
var lobby = network.channels[0];
|
||||||
|
var msg = new Msg({
|
||||||
|
from: "*",
|
||||||
|
text: "You're now known as " + data
|
||||||
|
});
|
||||||
|
lobby.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: lobby.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,2 +1,47 @@
|
|||||||
module.exports = function() {
|
var _ = require("lodash");
|
||||||
|
var Chan = require("../../models/chan");
|
||||||
|
var Msg = require("../../models/msg");
|
||||||
|
|
||||||
|
module.exports = function(irc, network) {
|
||||||
|
var client = this;
|
||||||
|
irc.on("whois", function(data) {
|
||||||
|
if (!data) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var chan = _.findWhere(network.channels, {name: data.nickname});
|
||||||
|
if (typeof chan === "undefined") {
|
||||||
|
chan = new Chan({
|
||||||
|
type: Chan.Type.QUERY,
|
||||||
|
name: data.nickname
|
||||||
|
});
|
||||||
|
network.channels.push(chan);
|
||||||
|
client.emit("join", {
|
||||||
|
network: network.id,
|
||||||
|
chan: chan
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var prefix = {
|
||||||
|
hostname: "from",
|
||||||
|
realname: "is",
|
||||||
|
channels: "on",
|
||||||
|
server: "using"
|
||||||
|
};
|
||||||
|
var i = 0;
|
||||||
|
for (var k in data) {
|
||||||
|
var key = prefix[k];
|
||||||
|
if (!key || data[k].toString() == "") {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
var msg = new Msg({
|
||||||
|
type: Msg.Type.WHOIS,
|
||||||
|
from: data.nickname,
|
||||||
|
text: key + " " + data[k]
|
||||||
|
});
|
||||||
|
chan.messages.push(msg);
|
||||||
|
client.emit("msg", {
|
||||||
|
chan: chan.id,
|
||||||
|
msg: msg
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
44
lib/shout.js
44
lib/shout.js
@ -2,7 +2,11 @@ var _ = require("lodash");
|
|||||||
var Client = require("./models/client");
|
var Client = require("./models/client");
|
||||||
var config = require("../config") || {};
|
var config = require("../config") || {};
|
||||||
var http = require("connect");
|
var http = require("connect");
|
||||||
|
var net = require("net");
|
||||||
|
var Network = require("./models/network");
|
||||||
var io = require("socket.io");
|
var io = require("socket.io");
|
||||||
|
var slate = require("slate-irc");
|
||||||
|
var tls = require("tls");
|
||||||
|
|
||||||
var sockets = null;
|
var sockets = null;
|
||||||
var clients = [];
|
var clients = [];
|
||||||
@ -45,7 +49,9 @@ module.exports = function() {
|
|||||||
sockets = io(http().use(http.static("client")).listen(config.port || 9000));
|
sockets = io(http().use(http.static("client")).listen(config.port || 9000));
|
||||||
sockets.on("connection", function(socket) {
|
sockets.on("connection", function(socket) {
|
||||||
if (config.public) {
|
if (config.public) {
|
||||||
init(socket, new Client());
|
var client = new Client({sockets: sockets});
|
||||||
|
init(socket, client);
|
||||||
|
connect(client, {host: "irc.rizon.net"});
|
||||||
} else {
|
} else {
|
||||||
init(socket);
|
init(socket);
|
||||||
}
|
}
|
||||||
@ -60,11 +66,41 @@ function init(socket, client) {
|
|||||||
socket.on("input", function(data) { input(client, data); });
|
socket.on("input", function(data) { input(client, data); });
|
||||||
socket.join(client.id);
|
socket.join(client.id);
|
||||||
socket.emit("init", {
|
socket.emit("init", {
|
||||||
networks: client.networks
|
init: client.networks
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
|
||||||
function auth() {
|
function auth() {
|
||||||
var socket = this;
|
var socket = this;
|
||||||
};
|
}
|
||||||
|
|
||||||
|
function connect(client, args) {
|
||||||
|
var options = {
|
||||||
|
host: args.host,
|
||||||
|
port: args.port || 6667
|
||||||
|
};
|
||||||
|
var stream = args.tls ? tls.connect(options) : net.connect(options);
|
||||||
|
stream.on("error", function(e) {
|
||||||
|
console.log(e);
|
||||||
|
});
|
||||||
|
var irc = slate(stream);
|
||||||
|
irc.nick("shout");
|
||||||
|
irc.user("shout", "Shout User");
|
||||||
|
client.nick = "shout";
|
||||||
|
var network = new Network({
|
||||||
|
host: options.host,
|
||||||
|
irc: irc
|
||||||
|
});
|
||||||
|
client.networks.push(network);
|
||||||
|
client.emit("network", {
|
||||||
|
network: network
|
||||||
|
});
|
||||||
|
events.forEach(function(plugin) {
|
||||||
|
require("./plugins/irc-events/" + plugin).apply(client, [irc, network]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function input(client, data) {
|
||||||
|
console.log(data);
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user