hostname: event.hostname,
user_prefixes: this.get('user_prefixes')
});
- members.add(user, {kiwi: event});
+
+ _kiwi.global.events.emit('channel:join', {channel: event.channel, user: user})
+ .then(function() {
+ members.add(user, {kiwi: event});
+ });
}
user = members.getByNick(event.nick);
if (!user) return;
- members.remove(user, {kiwi: part_options});
+ _kiwi.global.events.emit('channel:leave', {channel: event.channel, user: user, type: 'part', message: part_options.message})
+ .then(function() {
+ members.remove(user, {kiwi: part_options});
+ });
}
if (panel.isChannel()) {
member = panel.get('members').getByNick(event.nick);
if (member) {
- panel.get('members').remove(member, {kiwi: quit_options});
+ _kiwi.global.events.emit('channel:leave', {channel: panel.get('name'), user: member, type: 'quit', message: part_options.message})
+ .then(function() {
+ panel.get('members').remove(member, {kiwi: quit_options});
+ });
}
}
});
if (!user) return;
- members.remove(user, {kiwi: part_options});
+ _kiwi.global.events.emit('channel:leave', {channel: event.channel, user: user, type: 'kick', message: part_options.message})
+ .then(function() {
+ members.remove(user, {kiwi: part_options});
- if (part_options.current_user_kicked) {
- members.reset([]);
- }
+ if (part_options.current_user_kicked) {
+ members.reset([]);
+ }
+ });
}