Better handling of #d%

This commit is contained in:
Juhani Haverinen 2014-04-12 17:16:36 +03:00
parent c72dbc2697
commit a436c37f34
1 changed files with 7 additions and 2 deletions

View File

@ -183,8 +183,13 @@ def parse((line,irc)):
elif die_expr.match(line[3][1:]):
die=line[3][2:].split('d')
times=int(die[0]) if die[0] else 1
die=100 if die[1]=='%' else int(die[1])
if die<4 or times<1 or times>128:
die='%' if die[1]=='%' else int(die[1])
if die=='%':
if times!=1:
irc.send('PRIVMSG %s :Not supported'%chan)
else:
irc.send('PRIVMSG %s :%s%s'%(chan, random.randint(0,9), random.randint(0,9)))
elif die<4 or times<1 or times>128:
irc.send('PRIVMSG %s :Dice are limited to physically possible ones'%chan)
else:
rolls=[random.randint(1, die) for i in xrange(times)]