2018-07-02 13:45:25 +00:00
|
|
|
import random, uuid
|
2018-10-03 12:22:37 +00:00
|
|
|
from src import ModuleManager, utils
|
2016-03-29 13:32:01 +00:00
|
|
|
|
2018-09-26 17:27:17 +00:00
|
|
|
class Module(ModuleManager.BaseModule):
|
2018-07-02 13:45:25 +00:00
|
|
|
_name = "Random"
|
2016-03-29 13:32:01 +00:00
|
|
|
|
2018-10-03 12:22:37 +00:00
|
|
|
@utils.hook("received.command.random|rand")
|
2016-03-29 13:32:01 +00:00
|
|
|
def random(self, event):
|
2018-09-26 17:27:17 +00:00
|
|
|
"""
|
2018-09-30 16:29:09 +00:00
|
|
|
:help: Get a random number
|
|
|
|
:usage: [start] [end]
|
2018-09-26 17:27:17 +00:00
|
|
|
"""
|
2016-03-29 13:32:01 +00:00
|
|
|
start, end = "1", "100"
|
|
|
|
if len(event["args_split"]) > 1:
|
|
|
|
start, end = event["args_split"][:2]
|
|
|
|
elif len(event["args_split"]) == 1:
|
|
|
|
end = event["args_split"][0]
|
|
|
|
if start.isdigit() and end.isdigit():
|
|
|
|
start, end = int(start), int(end)
|
|
|
|
if end > start:
|
|
|
|
number = random.randint(start, end)
|
|
|
|
event["stdout"].write("(%d-%d) %d" % (start, end,
|
|
|
|
number))
|
|
|
|
else:
|
|
|
|
event["stderr"].write(
|
|
|
|
"End must be greater than start")
|
|
|
|
else:
|
|
|
|
event["stderr"].write(
|
|
|
|
"Both start and end must be valid integers")
|
2018-07-02 13:45:25 +00:00
|
|
|
|
2018-10-03 12:22:37 +00:00
|
|
|
@utils.hook("received.command.guid")
|
2018-07-02 13:45:25 +00:00
|
|
|
def guid(self, event):
|
2018-09-26 17:27:17 +00:00
|
|
|
"""
|
2018-09-30 16:29:09 +00:00
|
|
|
:help: Get a random guid
|
2018-09-26 17:27:17 +00:00
|
|
|
"""
|
2018-07-02 13:45:25 +00:00
|
|
|
event["stdout"].write(str(uuid.uuid4()))
|