diff --git a/commands/chans.py b/commands/chans.py new file mode 100644 index 0000000..b3579a7 --- /dev/null +++ b/commands/chans.py @@ -0,0 +1,22 @@ +import main +import modules.userinfo as userinfo + +class Chans: + def __init__(self, register): + register("chans", self.chans) + + def chans(self, addr, authed, data, obj, spl, success, failure, info, incUsage, length): + if authed: + result = userinfo.getChans(spl[1:]) + rtrn = "" + for i in result.keys(): + rtrn += "Matches from: %s" % i + rtrn += "\n" + for x in result[i]: + rtrn += (x) + rtrn += "\n" + rtrn += "\n" + info(rtrn) + return + else: + incUsage(None) diff --git a/modules/userinfo.py b/modules/userinfo.py index 053edb4..e3ad7f0 100644 --- a/modules/userinfo.py +++ b/modules/userinfo.py @@ -16,6 +16,21 @@ def getWho(query): result[i] = f return result +def getChansSingle(name, query): + query = ["live.chan."+name+"."+i for i in query] + result = main.r.sinter(*query) + if len(result) == 0: + return None + return [i.decode() for i in result] + +def getChans(query): + result = {} + for i in main.pool.keys(): + f = getChansSingle(i, query) + if f: + result[i] = f + return result + def getNumWhoEntries(name): return main.r.scard("live.who."+name)