Merge pull request 'Add DJ topic system' (#5) from khuxkm/bitbot-modules:djtopic into master

Reviewed-on: ben/bitbot-modules#5
This commit is contained in:
Ben Harris 2020-11-25 15:12:28 +00:00
commit 5728596fba
1 changed files with 28 additions and 0 deletions

View File

@ -331,3 +331,31 @@ class Module(ModuleManager.BaseModule):
event["stdout"].write(
utils.datetime.format.datetime_human(utils.datetime.utcnow())
)
@utils.hook("received.command.setdjtopic")
@utils.kwarg("require_mode","v")
@utils.kwarg("help","set your personal DJ topic")
@utils.spec("!<topic>string")
def setdjtopic(self, event):
if event["target"].name!="#tilderadio":
event["stderr"].write("setdjtopic command can only be used in #tilderadio")
return
topic = event["spec"][0]
event["user"].set_setting("tilderadio-djtopic",topic)
@utils.hook("received.command.djtopic")
@utils.kwarg("help","get the DJ topic for the active DJ or for any DJ")
@utils.spec("?<dj>user")
def setdjtopic(self, event):
dj = event["spec"][0]
if dj is None:
if event["server"].has_user_id(self.dj):
dj = event["server"].get_user(self.dj)
else:
event["stderr"].write(f"I can't find an account for {self.dj}. Try manually putting in their nickname?")
return
topic = dj.get_setting("tilderadio-djtopic",None)
if topic is None:
event["stderr"].write(f"{dj.nickname} doesn't have a DJ topic set.")
return
event["stdout"].write(f"DJ topic for {dj.nickname}: {topic}")