mirror of
https://github.com/jlu5/PyLink.git
synced 2024-11-01 01:09:22 +01:00
classes: implement IrcChannel.isOp, isVoice, getPrefixmodes, etc
Ref #168.
This commit is contained in:
parent
8135f3a735
commit
ed333a6d1b
34
classes.py
34
classes.py
@ -596,6 +596,40 @@ class IrcChannel():
|
|||||||
"""Returns a deep copy of the channel object."""
|
"""Returns a deep copy of the channel object."""
|
||||||
return deepcopy(self)
|
return deepcopy(self)
|
||||||
|
|
||||||
|
def isVoice(self, uid):
|
||||||
|
"""Returns whether the given user is voice in the channel."""
|
||||||
|
return uid in self.prefixmodes['voice']
|
||||||
|
|
||||||
|
def isHalfop(self, uid):
|
||||||
|
"""Returns whether the given user is halfop in the channel."""
|
||||||
|
return uid in self.prefixmodes['halfop']
|
||||||
|
|
||||||
|
def isOp(self, uid):
|
||||||
|
"""Returns whether the given user is op in the channel."""
|
||||||
|
return uid in self.prefixmodes['op']
|
||||||
|
|
||||||
|
def isAdmin(self, uid):
|
||||||
|
"""Returns whether the given user is admin (&) in the channel."""
|
||||||
|
return uid in self.prefixmodes['admin']
|
||||||
|
|
||||||
|
def isOwner(self, uid):
|
||||||
|
"""Returns whether the given user is owner (~) in the channel."""
|
||||||
|
return uid in self.prefixmodes['owner']
|
||||||
|
|
||||||
|
def getPrefixModes(self, uid):
|
||||||
|
"""Returns a list of all named prefix modes the given user has in the channel."""
|
||||||
|
|
||||||
|
if uid not in self.users:
|
||||||
|
return KeyError("User %s does not exist or is not in the channel" % uid)
|
||||||
|
|
||||||
|
result = []
|
||||||
|
|
||||||
|
for mode, modelist in self.prefixmodes.items():
|
||||||
|
if uid in modelist:
|
||||||
|
result.append(mode)
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
class Protocol():
|
class Protocol():
|
||||||
"""Base Protocol module class for PyLink."""
|
"""Base Protocol module class for PyLink."""
|
||||||
def __init__(self, irc):
|
def __init__(self, irc):
|
||||||
|
Loading…
Reference in New Issue
Block a user