34 lines
856 B
Python
34 lines
856 B
Python
import plugin
|
|
from dictdata import DictData
|
|
|
|
wrote = DictData("wrote.json")
|
|
|
|
def get_wordcount(nick):
|
|
return wrote.get(nick,0)
|
|
|
|
@plugin.command("wrote")
|
|
def _wrote(bot,channel,nick,*args):
|
|
args = list(args)
|
|
if len(args)!=1:
|
|
bot.say(channel,"Usage: !wrote <name/number>")
|
|
if args[0].isdigit():
|
|
wrote[nick]=get_wordcount(nick)+int(args[0])
|
|
else:
|
|
bot.say(channel,"{}: _{}_ has written {!s} words".format(nick,args[0],get_wordcount(args[0])))
|
|
|
|
@plugin.command("highscore")
|
|
def highscore(bot,channel,nick,*args):
|
|
count = 5
|
|
if len(args)==1:
|
|
c = int(args[0])
|
|
if c>10: # cap count at 10
|
|
c = 10
|
|
elif c<1: # floor count at 1
|
|
c = 1
|
|
check = [(k,wrote[k]) for k in wrote.value.keys()]
|
|
check.sort(key=lambda x: -x[1])
|
|
ret = []
|
|
for user in check[:5]:
|
|
ret.append("_{}_ ({!s} words)".format(*user))
|
|
bot.say(channel,nick+": "+", ".join(ret))
|