1
|
|
|
from event import Event |
2
|
|
|
import random |
3
|
|
|
|
4
|
|
|
class Told: |
5
|
|
|
def __init__(self, events=None, printer_handle=None, bot=None, say=None): |
6
|
|
|
self.events = events |
7
|
|
|
self.printer = printer_handle |
8
|
|
|
self.interests = ['__.told__'] |
9
|
|
|
self.bot = bot |
10
|
|
|
self.say = say |
11
|
|
|
|
12
|
|
|
told = Event("__.told__") |
13
|
|
|
told.define(msg_definition="^\.told") |
14
|
|
|
told.subscribe(self) |
15
|
|
|
self.bot.register_event(told, self) |
16
|
|
|
|
17
|
|
|
self.help = ".told <nick>" |
18
|
|
|
|
19
|
|
|
def get_told_status(self, target): |
20
|
|
|
"""Randomly selects and returns a string with a "told" status.""" |
21
|
|
|
status = ["FUCKING TOLD", |
22
|
|
|
"CASH4TOLD.COM", |
23
|
|
|
"KNIGHTS OF THE TOLD REPUBLIC", |
24
|
|
|
"STONE TOLD STEVE AUSTIN", |
25
|
|
|
"CURE FOR THE COMMON TOLD", |
26
|
|
|
"BEN TOLDS FIVE", |
27
|
|
|
"THE 40 YEAR TOLD VIRGIN", |
28
|
|
|
"TOLDENEYE 007", |
29
|
|
|
"TEXAS TOLD'EM", |
30
|
|
|
"AUSTIN POWERS IN TOLDMEMBER", |
31
|
|
|
"PTERODACTOLD", |
32
|
|
|
"NO COUNTRY FOR TOLD MEN", |
33
|
|
|
"24 CARAT TOLD RING", |
34
|
|
|
"ONLY SHOOTING STARS BREAK THE TOLD", |
35
|
|
|
"GOING ONCE...GOING TWICE...TOLD!", |
36
|
|
|
"GARY TOLDMAN", |
37
|
|
|
"TOLD SPICE", |
38
|
|
|
"TOLD STONE CREAMERY", |
39
|
|
|
"BABY IT'S TOLD OUTSIDE", |
40
|
|
|
"POKEMON TOLD AND SILVER", |
41
|
|
|
"TOLD YELLER", |
42
|
|
|
"EL DORADO: THE LOST CITY OF TOLD", |
43
|
|
|
"TOLDPLAY", |
44
|
|
|
"BATMAN: THE BRAVE AND THE TOLD", |
45
|
|
|
"DANNY DEVITOLD", |
46
|
|
|
"FOR WHOM THE BELL TOLDS", |
47
|
|
|
"CAN'T TEACH A TOLD DOG NEW TRICKS", |
48
|
|
|
"I AIN'T SAYING SHE A TOLD DIGGER", |
49
|
|
|
"THE TOLDEN COMPASS", |
50
|
|
|
"TOLDIER OF FORTUNE", |
51
|
|
|
"TOLDING CHAIR", |
52
|
|
|
"TOLDEN AXE", |
53
|
|
|
"TOLD MACDONALD HAD A FARM", |
54
|
|
|
"TOLDEN TOLDIES: HITS FROM THE 50'S, 60'S, AND 70'S", |
55
|
|
|
"BATTLETOLDS", |
56
|
|
|
"YE TOLDE PUB", |
57
|
|
|
"TOLDEN CAULFIELD", |
58
|
|
|
"THE TOLD MAN AND THE SEA", |
59
|
|
|
"TOLD MEDAL WINNER IN THE WINTER OLYMPICS", |
60
|
|
|
"POT OF TOLD AT THE END OF THE RAINBOW", |
61
|
|
|
"J.R.R. TOLDKIEN", |
62
|
|
|
"CALIFORNIA TOLD RUSH", |
63
|
|
|
"THERE'S TOLD IN THEM THAR HILLS" |
64
|
|
|
] |
65
|
|
|
exclamation = ["Damn!", |
66
|
|
|
"Damn, son!", |
67
|
|
|
"Snap!", |
68
|
|
|
"Sheeeiiiiittttt.", |
69
|
|
|
"Ouch!" |
70
|
|
|
] |
71
|
|
|
return random.choice(exclamation) + " %s\'s told status: [X] " % target + random.choice(status) |
72
|
|
|
|
73
|
|
|
def handle(self, event): |
74
|
|
|
_z = event.msg.split(None, 1) |
75
|
|
|
try: |
76
|
|
|
self.say(event.channel, self.get_told_status(_z[1])) |
77
|
|
|
except IndexError: |
78
|
|
|
self.say(event.channel, "You didn\'t say who got told!") |
79
|
|
|
self.say(event.channel, self.get_told_status(event.user)) |
80
|
|
|
|