mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 09:19:23 +01:00
ngircd: implement KILL
This commit is contained in:
parent
67a414fa2a
commit
28d2f89311
@ -160,6 +160,20 @@ class NgIRCdProtocol(IRCS2SProtocol):
|
|||||||
self.channels[channel].users.add(client)
|
self.channels[channel].users.add(client)
|
||||||
self.users[client].channels.add(channel)
|
self.users[client].channels.add(channel)
|
||||||
|
|
||||||
|
def kill(self, source, target, reason):
|
||||||
|
"""Sends a kill from a PyLink client/server."""
|
||||||
|
if (not self.is_internal_client(source)) and \
|
||||||
|
(not self.is_internal_server(source)):
|
||||||
|
raise LookupError('No such PyLink client/server exists.')
|
||||||
|
|
||||||
|
# Follow ngIRCd's formatting of the kill messages for the most part
|
||||||
|
self._send_with_prefix(source, 'KILL %s :KILLed by %s: %s' % (self._expandPUID(target),
|
||||||
|
self.get_friendly_name(source), reason))
|
||||||
|
|
||||||
|
# Implicitly remove our own client if one was the target.
|
||||||
|
if self.is_internal_client(target):
|
||||||
|
self._remove_client(target)
|
||||||
|
|
||||||
def knock(self, numeric, target, text):
|
def knock(self, numeric, target, text):
|
||||||
raise NotImplementedError('KNOCK is not supported on ngIRCd.')
|
raise NotImplementedError('KNOCK is not supported on ngIRCd.')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user