cosmicbot/commands/roster.py

19 lines
653 B
Python

import plugin, re, subprocess
unhighlight_nick = lambda nick: "_{!s}_".format(nick)
@plugin.command("roster","<filter>")
def on_roster(self,channel,nick,*namecnt):
if not namecnt:
self.say(channel,"{}: Must supply a filter!".format(nick))
return
try:
output = subprocess.check_output(["/usr/local/bin/roster",' '.join(namecnt)]).decode("utf-8").split("\n")
except subprocess.CalledProcessError:
self.say(channel,"{}: No such ship/user!".format(nick))
return
output = filter(None,output)
for line in output:
line = re.sub("\s+"," ",line).split(" ",1)
self.say(channel,"{}: {} (by {})".format(nick,line[1],unhighlight_nick(line[0])))