X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/e25bacc0075c83ac63908f4173ddbdda9461bf07..f9767f7903eac36cf71f2a3852b90a1e6173b4ae:/erebus.py diff --git a/erebus.py b/erebus.py index 755f2b4..451ea83 100644 --- a/erebus.py +++ b/erebus.py @@ -13,23 +13,31 @@ class Erebus(object): class User(object): chans = [] + def __init__(self, nick, auth=None): self.nick = nick self.auth = auth + if auth is not None: self.checklevel() + def authed(self, auth): self.auth = auth self.checklevel() + def checklevel(self): self.level = 9999 #TODO get level from db + def __str__(self): return self.nick def __repr__(self): return "" % (self.nick) + class Channel(object): users = [] voices = [] ops = [] + def __init__(self, name): self.name = name + def userjoin(self, user, level=None): if user not in self.users: self.users.append(user) if level == 'op' and user not in self.ops: self.ops.append(user) @@ -38,6 +46,7 @@ class Erebus(object): if user in self.ops: self.ops.remove(user) if user in self.voices: self.voices.remove(user) if user in self.users: self.users.remove(user) + def userop(self, user): if user in self.users and user not in self.ops: self.ops.append(user) def uservoice(self, user): @@ -57,18 +66,20 @@ class Erebus(object): if bind is None: bind = '' obj = bot.Bot(self, nick, user, bind, server, port, realname, chans) self.bots[nick.lower()] = obj + def newfd(self, obj, fileno): print "newfd(Erebus(), %r, %r)" % (obj, fileno) self.fds[fileno] = obj self.po.register(fileno, select.POLLIN) - def bot(self, name): + + def bot(self, name): #get Bot() by name (nick) return self.bots[name.lower()] - def fd(self, fileno): + def fd(self, fileno): #get Bot() by fd/fileno return self.fds[fileno] - def user(self, nick): #TODO + def user(self, nick): #TODO #get User() by nick return self.User(nick.lower()) - def channel(self, name): #TODO + def channel(self, name): #TODO #get Channel() by name return self.Channel(name.lower()) def poll(self):