Cadrin

rollan

Apr 12th, 2015
19
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if messageObject.message[0]=="!":
  2.             rollMsg = None
  3.             rollResult = re.search(r"\!roll( (?P<dice>[0-9]{1,5})d(?P<sides>[0-9]{1,10})(\+(?P<diceModifier>[0-9]{1,10}))?| ((?P<roll1>[0-9]{1,10})-)?(?P<roll2>[0-9]{1,10}))?",messageObject.message)
  4.             if rollResult and rollResult.group("dice") and int(rollResult.group("sides")) >= 2 and int(rollResult.group("dice")) > 0:
  5.                 self.randValue1 = int(rollResult.group("dice"))
  6.                 self.randValue2 = self.randValue1 * int(rollResult.group("sides"))
  7.                 diceRoll = randint(self.randValue1, self.randValue2)
  8.                 if rollResult.group("diceModifier"): diceRoll += int(rollResult.group("diceModifier"))
  9.                 rollMsg = messageObject.author + ' rolls %d' % diceRoll + ' (%d\d%s' % (self.randValue1,rollResult.group("sides"))
  10.                 if rollResult.group("diceModifier"): rollMsg += ' + ' + rollResult.group("diceModifier") + ')'
  11.                 else: rollMsg += ')'
  12.             elif rollResult and rollResult.group("roll2"):
  13.                 if rollResult.group("roll1"): self.randValue1 = int(rollResult.group("roll1"))
  14.                 else: self.randValue1 = 1
  15.                 self.randValue2 = int(rollResult.group("roll2"))
  16.                 if self.randValue2 < self.randValue1: self.randValue1,self.randValue2 = self.randValue2,self.randValue1
  17.                 diceRoll = randint(self.randValue1, self.randValue2)
  18.                 rollMsg = messageObject.author + ' rolls  %d' % diceRoll + ' (%d-%d)' % (self.randValue1,self.randValue2)
  19.             elif rollResult:
  20.                 diceRoll = randint(1,100)
  21.                 rollMsg = messageObject.author + ' rolls  %d' % diceRoll + ' (1-100)'
  22.             if rollMsg:
  23.                 payload = {
  24.                         'italic': '1',
  25.                         'msg': rollMsg
  26.                         }
  27.                 return payload
RAW Paste Data