From 58cf481d86a52b0831f4437231f33c39ee5b639a Mon Sep 17 00:00:00 2001 From: Max Leiter Date: Fri, 14 Jul 2017 10:40:09 -0700 Subject: [PATCH] Add SOURCE CTCP Command --- src/plugins/irc-events/ctcp.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/plugins/irc-events/ctcp.js b/src/plugins/irc-events/ctcp.js index a4ed7033..8686493c 100644 --- a/src/plugins/irc-events/ctcp.js +++ b/src/plugins/irc-events/ctcp.js @@ -1,17 +1,17 @@ "use strict"; -var Msg = require("../../models/msg"); +const Msg = require("../../models/msg"); module.exports = function(irc, network) { - var client = this; + const client = this; irc.on("ctcp response", function(data) { - var chan = network.getChannel(data.nick); + let chan = network.getChannel(data.nick); if (typeof chan === "undefined") { chan = network.channels[0]; } - var msg = new Msg({ + const msg = new Msg({ type: Msg.Type.CTCP, time: data.time, from: data.nick, @@ -21,14 +21,20 @@ module.exports = function(irc, network) { chan.pushMessage(client, msg); }); - irc.on("ctcp request", function(data) { + irc.on("ctcp request", (data) => { switch (data.type) { - case "PING": - var split = data.message.split(" "); + case "PING": { + const split = data.message.split(" "); if (split.length === 2) { irc.ctcpResponse(data.nick, "PING", split[1]); } break; } + case "SOURCE": { + const packageJson = require("../../../package.json"); + irc.ctcpResponse(data.nick, "SOURCE", packageJson.repository.url); + break; + } + } }); };