1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-30 15:04:18 +00:00
royalnet/rpgpack/commands/roll.py

29 lines
791 B
Python
Raw Normal View History

2019-11-11 09:34:05 +00:00
import typing
import random
from royalnet.commands import *
class RollCommand(Command):
name: str = "roll"
description: str = "Roll a dice, from N to M (defaults to 1-100)."
syntax = "[min] [max]"
aliases = ["r", "random"]
async def run(self, args: CommandArgs, data: CommandData) -> None:
first: typing.Optional[str] = args.optional(0)
second: typing.Optional[str] = args.optional(1)
if second:
minimum = int(first)
maximum = int(second)
elif first:
minimum = 1
maximum = int(first)
else:
minimum = 1
maximum = 100
result = random.randrange(minimum, maximum+1)
await data.reply(f"🎲 Dice roll [{minimum}-{maximum}]: [b]{result}[/b]")