1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
import random, uuid
from src import ModuleManager, utils
COIN_SIDES = ["heads", "tails"]
class Module(ModuleManager.BaseModule):
_name = "Random"
@utils.hook("received.command.rand", alias_of="random")
@utils.hook("received.command.random")
def random(self, event):
"""
:help: Get a random number
:usage: [start] [end]
"""
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")
@utils.hook("received.command.cointoss")
def coin_toss(self, event):
chosen_side = random.SystemRandom().choice(COIN_SIDES)
event["stdout"].write("%s tosses a coin and gets %s" %
(event["user"].nickname, chosen_side))
@utils.hook("received.command.uuid4")
def uuid(self, event):
"""
:help: Get a random uuid4
"""
event["stdout"].write(str(uuid.uuid4()))
|