radiobot/bot.py
2018-11-26 15:05:36 -05:00

30 lines
1.1 KiB
Python

import teambot, sys, tasks, json
import os.path as fs
class RadioBot(teambot.Handler):
def __init__(self,*args):
super(RadioBot,self).__init__(*args)
self.tasks = tasks.TaskPool(handler=self)
self.tasks.add_coroutine(self.check_nowplaying,1,dict(now_playing="",dj=None))
self.channels = [x.split()[0] for x in self._bot.chanlist]
self.tasks.run()
def check_nowplaying(self,state,basestate):
with open(fs.expanduser("~ben/public_html/radio/now_playing.txt")) as f:
text = f.read().rstrip()
print(text) #TODO: implement parsing
def on_pubmsg(self,channel,nick,text):
if nick.startswith("khuxkm") and text.rstrip()=="!down":
self.tasks.stop()
self._bot.die("Stopping...")
else:
self.say(channel,json.dumps(self.channels))
if __name__=="__main__":
if not fs.exists("channels.txt"):
print("ERROR: No channels.txt. Use channels.txt.example as an example.")
sys.exit(1)
with open("channels.txt") as f:
channels = [l.rstrip() for l in f if l.rstrip()]
bot = teambot.TeamBot(channels,"radiobot2","localhost",chandler=RadioBot)
bot.start()