juju/plugins/tilde.py

35 lines
1.5 KiB
Python

#!/usr/bin/python3
import pinhook.plugin
import util.tilde
@pinhook.plugin.command('&tildescore', help_text='See how many tildes you have with ju.')
@pinhook.plugin.command('&ts', help_text='Alias -- &tildescore')
def tildescore_plugin(msg):
return pinhook.plugin.message(util.tilde.show_tildescore(msg.nick))
@pinhook.plugin.command('&jackpot', help_text='See the current jackpot.')
def jackpot_plugin(msg):
return pinhook.plugin.message(util.tilde.show_jackpot())
@pinhook.plugin.command('!tilde', help_text='Alias -- &tilde')
@pinhook.plugin.command('&tilde', help_text='Play the tildegame!')
def tilde_plugin(msg):
if util.tilde.ADMIN_ONLY and msg.nick not in msg.ops:
return
if msg.channel != util.tilde.GOOD_CHAN and not util.tilde.DEBUG:
return pinhook.plugin.message("{} is a meanie and gets no tildes. **ju only gives out tildes in the {} channel.**".format(msg.nick, util.tilde.GOOD_CHAN))
if msg.nick not in util.tilde.challenges:
challenge = util.tilde.challenge(msg.channel, msg.nick, msg.timestamp)
return pinhook.plugin.message(challenge)
@pinhook.plugin.listener('tilde_guess')
def tilde_guess_plugin(msg):
if util.tilde.ADMIN_ONLY and msg.nick not in msg.ops:
return
if msg.nick in util.tilde.challenges and (msg.channel == util.tilde.GOOD_CHAN or util.tilde.DEBUG) and not msg.text.startswith('!'):
chalres = util.tilde.challenge_response(msg.nick, msg.timestamp, msg.text)
resp = pinhook.plugin.message(chalres[0])
return resp