From feb7d9d4bb4550fd4c839dfe5d84d4b16a656636 Mon Sep 17 00:00:00 2001 From: Pavel Djundik Date: Wed, 8 Nov 2017 23:10:17 +0200 Subject: [PATCH] Fix #1692 when kicker is server --- src/models/chan.js | 5 +++++ src/plugins/irc-events/kick.js | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/models/chan.js b/src/models/chan.js index 8dacc682..ac77db65 100644 --- a/src/models/chan.js +++ b/src/models/chan.js @@ -2,6 +2,7 @@ var _ = require("lodash"); var Helper = require("../helper"); +const User = require("./user"); const userLog = require("../userLog"); const storage = require("../plugins/storage"); @@ -121,6 +122,10 @@ Chan.prototype.findUser = function(nick) { return _.find(this.users, {nick: nick}); }; +Chan.prototype.getUser = function(nick) { + return this.findUser(nick) || new User({nick: nick}); +}; + Chan.prototype.getMode = function(name) { var user = this.findUser(name); if (user) { diff --git a/src/plugins/irc-events/kick.js b/src/plugins/irc-events/kick.js index 2a15fa8a..4b333a3b 100644 --- a/src/plugins/irc-events/kick.js +++ b/src/plugins/irc-events/kick.js @@ -11,8 +11,8 @@ module.exports = function(irc, network) { return; } - const kicker = chan.findUser(data.nick); - const target = chan.findUser(data.kicked); + const kicker = chan.getUser(data.nick); + const target = chan.getUser(data.kicked); if (data.kicked === irc.user.nick) { chan.users = [];