mod_spox 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +1 -1
- data/README +6 -2
- data/bin/mod_spox +15 -9
- data/data/mod_spox/extras/AOLSpeak.rb +271 -0
- data/data/mod_spox/extras/AutoKick.rb +119 -0
- data/data/mod_spox/extras/AutoRejoin.rb +14 -0
- data/data/mod_spox/extras/Bullshit.rb +19 -0
- data/data/mod_spox/extras/Confess.rb +166 -0
- data/data/mod_spox/extras/DevWatch.rb +154 -0
- data/data/mod_spox/extras/EightBall.rb +31 -0
- data/data/mod_spox/extras/Headers.rb +50 -0
- data/data/mod_spox/extras/Karma.rb +16 -17
- data/data/mod_spox/extras/LolSpeak.rb +22 -0
- data/data/mod_spox/extras/PhpCli.rb +146 -0
- data/data/mod_spox/extras/PhpFuncLookup.rb +261 -0
- data/data/mod_spox/extras/Quotes.rb +80 -0
- data/data/mod_spox/extras/Roulette.rb +24 -3
- data/data/mod_spox/extras/Talk.rb +41 -0
- data/data/mod_spox/extras/Translate.rb +95 -0
- data/data/mod_spox/extras/Weather.rb +55 -0
- data/data/mod_spox/plugins/Authenticator.rb +12 -0
- data/data/mod_spox/plugins/Banner.rb +3 -3
- data/data/mod_spox/plugins/Helper.rb +37 -0
- data/lib/mod_spox/Bot.rb +1 -1
- data/lib/mod_spox/ConfigurationWizard.rb +12 -5
- data/lib/mod_spox/MessageFactory.rb +1 -2
- data/lib/mod_spox/Monitors.rb +26 -8
- data/lib/mod_spox/Pipeline.rb +13 -13
- data/lib/mod_spox/PluginManager.rb +12 -1
- data/lib/mod_spox/Pool.rb +212 -29
- data/lib/mod_spox/Socket.rb +6 -6
- data/lib/mod_spox/Timer.rb +6 -8
- data/lib/mod_spox/handlers/Handler.rb +1 -1
- data/lib/mod_spox/handlers/Privmsg.rb +1 -0
- data/lib/mod_spox/handlers/Who.rb +1 -0
- data/lib/mod_spox/messages/internal/PluginRequest.rb +1 -1
- data/lib/mod_spox/messages/outgoing/Privmsg.rb +9 -1
- data/lib/mod_spox/models/Setting.rb +3 -3
- data/lib/mod_spox/models/Signature.rb +1 -1
- metadata +18 -20
data/CHANGELOG
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
* Banner
|
10
10
|
* Fixed plugin loading problem in PluginLoader
|
11
11
|
* Fixed an issue with database creation in SQLite
|
12
|
-
* Fixed Pipeline to continue processing message when a plugin raises
|
12
|
+
* Fixed Pipeline to continue processing message when a plugin raises an exception
|
13
13
|
* Reworked authentication mechanisms. Now using group based permissions
|
14
14
|
* Added various convenience methods
|
15
15
|
|
data/README
CHANGED
@@ -18,13 +18,17 @@ mod_spox
|
|
18
18
|
|
19
19
|
== Requirements
|
20
20
|
|
21
|
-
* fastthread
|
22
21
|
* sequel
|
22
|
+
* database driver
|
23
|
+
|
24
|
+
== Optional
|
25
|
+
|
23
26
|
* termios
|
27
|
+
* fastthread
|
24
28
|
|
25
29
|
== Install
|
26
30
|
|
27
|
-
gem install --include-dependencies mod_spox
|
31
|
+
sudo gem install --include-dependencies mod_spox
|
28
32
|
|
29
33
|
== License
|
30
34
|
|
data/bin/mod_spox
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
|
3
3
|
## include our needed libraries ##
|
4
4
|
|
5
|
-
['rubygems', 'sequel', '
|
6
|
-
'thread', 'etc', 'getoptlong'].each{|file|
|
5
|
+
['rubygems', 'sequel', 'thread', 'etc', 'getoptlong'].each{|file|
|
7
6
|
begin
|
8
7
|
require file
|
9
8
|
rescue Object => boom
|
@@ -12,6 +11,13 @@
|
|
12
11
|
end
|
13
12
|
}
|
14
13
|
|
14
|
+
## optional libraries ##
|
15
|
+
begin
|
16
|
+
require 'fastthread'
|
17
|
+
rescue Object => boom
|
18
|
+
puts "WARNING: fastthread gem was not found"
|
19
|
+
end
|
20
|
+
|
15
21
|
$BOTVERSION='0.0.2'
|
16
22
|
$VERBOSITY = 0
|
17
23
|
|
@@ -33,15 +39,15 @@ verbose = 0
|
|
33
39
|
opts.each do |opt, arg|
|
34
40
|
case opt
|
35
41
|
when '--help'
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
42
|
+
puts 'Usage: mod_spox [opts]'
|
43
|
+
puts '--config -c: starts configuration wizard'
|
44
|
+
puts '--debug -d: turns on debugging (include number >0 for more info)'
|
45
|
+
puts '--version -v: output bot version information'
|
46
|
+
puts '--help -h: print this help message'
|
41
47
|
exit
|
42
48
|
when '--version'
|
43
|
-
|
44
|
-
|
49
|
+
puts "mod_spox IRC bot version: #{$BOTVERSION}"
|
50
|
+
puts 'http://rubyforge.org/projects/modspox'
|
45
51
|
exit
|
46
52
|
when '--debug'
|
47
53
|
if(arg && arg =~ /^[0-9]+/)
|
@@ -0,0 +1,271 @@
|
|
1
|
+
class AOLSpeak < ModSpox::Plugin
|
2
|
+
|
3
|
+
include Models
|
4
|
+
|
5
|
+
def initialize(pipeline)
|
6
|
+
super
|
7
|
+
group = Group.find_or_create(:name => 'banner')
|
8
|
+
Signature.find_or_create(:signature => 'aolspeak', :plugin => name, :method => 'aolspeak', :description => 'AOL speak')
|
9
|
+
Signature.find_or_create(:signature => 'aolkick (\S+) ?(\S+)?', :plugin => name, :method => 'aolkick', :description => 'AOL speak kick',
|
10
|
+
:group_id => group.pk).params = [:nick, :channel]
|
11
|
+
build_aolspeak
|
12
|
+
@banner = nil
|
13
|
+
@pipeline.hook(self, :banner_watch, :Internal_PluginResponse)
|
14
|
+
@pipeline << Messages::Internal::PluginRequest.new(self, 'Banner')
|
15
|
+
end
|
16
|
+
|
17
|
+
def aolspeak(message, params)
|
18
|
+
reply message.replyto, @aolspeak[rand(@aolspeak.size) - 1]
|
19
|
+
end
|
20
|
+
|
21
|
+
def aolkick(message, params)
|
22
|
+
if(@banner.nil?)
|
23
|
+
@pipeline << Messages::Internal::PluginRequest.new(self, 'Banner')
|
24
|
+
sleep(0.1)
|
25
|
+
end
|
26
|
+
if(params[:channel])
|
27
|
+
channel = Models::Channel.filter(:name => params[:channel]).first
|
28
|
+
else
|
29
|
+
channel = message.target
|
30
|
+
end
|
31
|
+
nick = Models::Nick.filter(:nick => params[:nick]).first
|
32
|
+
if(channel && nick)
|
33
|
+
@banner.ban(nick, channel, 60, @aolspeak[rand(@aolspeak.size) - 1], invite=false, show_time=false)
|
34
|
+
else
|
35
|
+
reply message.replyto, "\2Error:\2 Failed to find channel: #{params[:channel]}" unless channel
|
36
|
+
reply message.replyto, "\2Error:\2 Failed to find nick: #{params[:nick]}" unless nick
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def banner_watch(message)
|
41
|
+
if(message.origin == self && message.found?)
|
42
|
+
@banner = message.plugin
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def build_aolspeak
|
49
|
+
@aolspeak = [
|
50
|
+
'ALL OREAND THE GIFCHERRY BUSH DA BOON CHASED DA WHEASELGIFPASTECLITNUGGET SHIT]',
|
51
|
+
'WH0A WHUT W00D PEEPUHL THEEENK IF DAY GN00 EYE WUZ A JEEEZUS FREEEK?!',
|
52
|
+
'EYE WENT TO THE TRAK TO WAATCH THE PONYNUGGETS RHUN AROUND THE GIFPASTE',
|
53
|
+
'MY MOM HAS A GARDUN WAREZ SHE GROZE KUMKUWAITS',
|
54
|
+
'THERES AN ASSNUGGET 4 ALL YA JEWS AND HOMERSEXULESS AN ASSNUGGET 4 ALL YA JEWS AND HOMERSEXULES',
|
55
|
+
'A DIQ IZ FER DISPENISING JIZZJ00CE IN DA CLITSAQ JIZZPOQIT',
|
56
|
+
'NO WAY JAQNAD, EYE GOT ENOUGH OF DEM SHITSTAYN THINGYS FOR GNO MHORE',
|
57
|
+
'EYE WHISH I COULD LIFT H�VY TINGS LYKE DOZE GUIZ ON TEEVHEE',
|
58
|
+
'AOL E_MAILWAREZ IS 2 31337 FOR THE CLITSAQLIKES OFF MIZZEE',
|
59
|
+
'SIMPSONS WIN95 THEME R0X! THOT ID LET Y\'ALL KNOWD LET YALL KNOWALL KNOW',
|
60
|
+
'ITZ UHBOWT THAT TYME 4 ME 2 OHPEN UP THA P00PYTANG AND LET THA JIZPEACHBANANAHOLEJ00ZEZ PHLOE.',
|
61
|
+
'H0W W00D J00 LYKE IT EEF EYE P00T MAH SAQ IN J00 MOUF?',
|
62
|
+
'HAHAHAHAHHAH!!!! YOU ARE FUNNY IRC PEOPLE',
|
63
|
+
'WHEN EYE GHO TO THE CLITGIFNUGGETPASTESHOPPINGSENTURS EYE UZE SHNUPPING C�RTZ',
|
64
|
+
'SO, WHAT YOUR SAYING IS THE ECCENTRICITY OF THE AFORENAMED SAQ IS BEYOND A REASONABLE DOUBT, THE CORNACOPIA OF THE PLETHORA OF GENTALIA? DAYOM EYEM SMAERT!',
|
65
|
+
'EYE KAN SPEEK IN MANNY DIVVRUNT LUNGAGAGES , MUCHAHASAQ',
|
66
|
+
'GO RIGHT AHEAD CLITSAQLIQU0R',
|
67
|
+
'H0W MUCH SAQ C00D A SAQNAD SAQ EEF A SAQNAD C00D SAQ NAD?',
|
68
|
+
'WOT TYME IS CAPTCLIT ON EMM TEE VEE JAQCUMLAPPER?',
|
69
|
+
'DEM FUXIN NIGRUXES BETTR STOP PLAYIN DAT LOUD MUSIK CUZ THE JEWISH KIDZ WIT DA LIDDLE DIKS N SAQS CAN\'T AFFORD 2 SPEDN MOR CASHES ON DA CLITSAQ ASSNUGGEX CEEDEEZN SAQS CANT AFFORD 2 SPEDN MOR CASHES ON DA CLITSAQ ASSNUGGEX CEEDEEZT AFFORD 2 SPEDN MOR CASHES ON DA CLITSAQ ASSNUGGEX CEEDEEZ',
|
70
|
+
'WHAT UR J00 TOO FRAID UV DA UREET AOL_MAN?',
|
71
|
+
'J00 N0 FUX WIF ME! EYELL BUST J00 IN THA GRILL NIG-NUGGET!LL BUST J00 IN THA GRILL NIG-NUGGET!',
|
72
|
+
'IF J00 ORDER TODAY, YOU GET A GINSU KNIFE AND A SMOKELESS ASHTRAY',
|
73
|
+
'MUSS BEE YER SPLEAN HURTIN CUZ I JUS BUSS A CAPP IN IT BIZZONITCHEZ',
|
74
|
+
'THA S00P D00 J0UR IZ ASSCUNTJUICE WIF BROKKULLI AND BAKKIN NUGGEX',
|
75
|
+
'I THOUGHT J00 GNU, CRUNCHYBONERFACEBOY',
|
76
|
+
'HEHEHEH WHY DNOT YU GOE PISS ON YER MOMUHZPASTE CLITNUGGSAQ FUXBUDGET',
|
77
|
+
'EYE GNEED SOME SUGARS SO EYE CAN RHUN UP AND DEWON THE HALLWAYZ WIF MUH BOOKZBAGZ WIF MUH KUNDUCKTORR',
|
78
|
+
'THIS LITTLE NIGGIE WENT W3WP, W3WP, W3WP ALL DA WAY HIZ-OME',
|
79
|
+
'J00 MUSS BOW DOWN, BIZZATCH',
|
80
|
+
'EYE LYKE TO PUT LUTZ OF M-80Z IN MUH DOGZ BUTTNUGGETZSHIT',
|
81
|
+
'FUQ ALL THA JIZZUM, EYEM GITTIN\' A LEG0 WAWPH3WL.M GITTIN A LEG0 WAWPH3WL. A LEG0 WAWPH3WL.',
|
82
|
+
'IM CONSIERDRERING RALFING ON MY GIRLFRIENDS BIGG ASS, ANY ADVISE ON HOW 2 GET THA TIMINH RITE?',
|
83
|
+
'WHY IT BE DAT GOTTA BE GOING AND DIZZN UP SOME OF DAT SHEET IN YOURMOMA"S LAP LIKE A NIGGA WIT SOME CAKE ALL OVER THEIR PANTSEATIN TITY HAIR OFF THEIR GRANDMOTHER"S DICK?',
|
84
|
+
'W00D J00 LYKE TO SEE MUH RED DWARF? ITS BIG TOO',
|
85
|
+
'NE1 OFFERING SHITZZZTIT??/???',
|
86
|
+
'EYE DONT KNOW, MUH MOMUHZ CLITZAQ PARRTYREWMJUICE WUZ ALL FUQEDUP CUZ THE TOSGUIDEZ WERE ALL OVER MY PASTESHIT',
|
87
|
+
'DAS RIGHT, ITZ DA SHITZ!!!!',
|
88
|
+
'MUH MUDDAH SAD THAT SHE LYKES AOL CUZ OF ITZ CHATREWMZ AND SHIT BUT I LIKE CHAAATTINNG WITH YOU GUYS ON EYEARSEE AND DOWNLOADING NEKKKED PIXTURES OF HOMOSHEXJ00WALS AND J0UNGG BOYEEEZ',
|
89
|
+
'I WNET TO JAHMEKKUH FOR VAYCAYSHUN ONEC AND DAY SED HEY MON AND SO I WUZ LIKE FUQSAQ J0UR ASSCLITSAX RASTANBOOEYZ!!! DEN DEY PUT MUHAYAZZ BACK ON DE PLAYNE HOME...',
|
90
|
+
'DAT KICKSAQ ECK BOOME PROOOMISZEDCLIT UZ NIUDEALITIES AGAIN',
|
91
|
+
'THEREZ THIAZS GUY AT #WAREZ-LAME AND HE SZYZ HIS BEST FRIENDZ AT MIDWAY WILL GIVE UZ BUTTALITIESZ THIAZS GUY AT #WAREZ-LAME AND HE SZYZ HIS BEST FRIENDZ AT MIDWAY WILL GIVE UZ BUTTALITIES',
|
92
|
+
'WHAT THE HELL IZ GOIN ON ROUND THIS ALAME PLACE?',
|
93
|
+
'OH YAH THAT WOULD R00L IF EYE DIDNT ARLEADY GNO THEM',
|
94
|
+
'BUTTSNATCHFAGAZZNIGGR0XWAREZB0YWH0RE IS IN DA HAY-OH-WAY-OWSE',
|
95
|
+
'FUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFUCKFU--MY FINGERS R TY-ERD',
|
96
|
+
'WHUT IS THA FUKKKINASSLIQSAQFUXXX S00P D00 J00R',
|
97
|
+
'H0LD 0NT0 J00R BITCHBUTTPUNXAYAZZ I NEED TO LIQDRINKSIP MY LAYMERSAQPASTE',
|
98
|
+
'EYE PLEH DAT NIGGRUX GAME KEY EYE TOO AND MAN DO I SHIZZROQ WIT DAT MAYYUH CHIQSAQ',
|
99
|
+
'PHEAL MUH PHLOAX, NIGGER0X!',
|
100
|
+
'LIKE HOW CAN YOU TYPE FAG NUGGET CLIT-SAQ WARRIORS OF DOOM-FAGS WITHOUGH LAUGHING YOUR CLIT-SAQ OFF',
|
101
|
+
'YER JUST A FAG NUGGET ASS BUDGET HERTZ AQUA VELVA CHEEZ WHIZ NAD SUQ CLITSAQ',
|
102
|
+
'J00 BUTT SPANKER CLIT SAQ SUCKER ASS NUGGET SHOOTER WITH CHEEZ BACON AND LETTUCE',
|
103
|
+
'WHERES THE ROOM SUPERVISOR? I NEED TO AXE HIM A KWESTYUN',
|
104
|
+
'WHUT THA FUCK R J00 SHITTING, NIGGR0X?',
|
105
|
+
'MUH SAQ IZ LOSING ITS WARP CONTAINMENT FIELD... EYEM GONA HAFTA EJECT THA CLIT-SAQS WARP CONTAINMENT FIELD... EYEM GONA HAFTA EJECT THA CLIT-SAQ',
|
106
|
+
'JEA USERNETSAQ SAID HUMANBALLS SMOKENADS EEZ PLAY',
|
107
|
+
'HEY OUDOWM DOO J00 TALX TO THAT CLITSAQ LIQER EDD BEWNM? HE IS THE COOLESST I LOVE THE COMBOOZAQ IN MK#!!!!!!!',
|
108
|
+
'EYE JUST HOPE I DONT PFART UNDER THA COVERS LIKE THAT OTHER SLIT-SAQ WITH CHEEZ DID',
|
109
|
+
'HEY DONT J00 B TELLING MY KRADDER FRENID SPUDZ JAQMEHAWFF TO SHUT UPP, D00DSAQNUTZ',
|
110
|
+
'REAL? W0W CUZ I HERD THAT BUT IF J00 SAW IT TOO IT MUST TRUE BEE',
|
111
|
+
'GL00 SUQZ DA NUTTSAQBUTTSMAQ GIVA DOGA BONE!',
|
112
|
+
'I GOT GNU SHIT COMING OUT OF MY AYAZZ BITCHNUTZ',
|
113
|
+
'ANYTHING NEW? ANYTHING NEW? DAMMIT ALL TO HELL, ANYTHING NEW?',
|
114
|
+
'AND TOONNIGHT WE HAVE ANN ELITE INTURVIUW WIITH MRSSRS JOHN TURK NUMBAH 1-1,000,000',
|
115
|
+
'SUP NIGGRUXSAQJIZZERZ',
|
116
|
+
'BUTTCLITNUGGSAQ FAGJIZZREWMNUGGETKICK BUNG-G PUNK',
|
117
|
+
'CLOSEHOLE FUNKEEBIDGEGREENAZZSAQPASTE',
|
118
|
+
'ONE TYME EYE WENIT 2 THA SKEWL AND THEY TRIDE TO LERN MUH AYAZZ SUM CRAP BUT EYE KILLT DEM ALL CUZ DEY WUZ UHG-LEE',
|
119
|
+
'WEREZ DAT NIGGRUX PHORMIKKAUH',
|
120
|
+
'THEREZ NO OPZ IN AOLREWMZ SO PISSOFFSAQJIZZNAG D0RKSAQ',
|
121
|
+
'EYE AM GOOD IN BASSABALLZ CAUSE I CAN SHOOT THEM 3 POINTED SHOTS FROM THE FREE THROW LINESHITTT!!!',
|
122
|
+
'UHH OKSAQ JAQNAD',
|
123
|
+
'SUM KID PISSED ALL OVER IN THE WALMART I USED TO WORK AT AND OF COURSE OUT OF 80 FUXN PPL THEY CALLED ME TO MOP IT UP BUT THAT WUZ KEWL CUZ IT GOT ME CLOSER TO THE CANDY AISLE SO I GOTS ME SUM FREE LUNCH',
|
124
|
+
'AOL_MAN IN FULL EFFEKT BOYEEEZ',
|
125
|
+
'EYE SHOUDL GET A JOB AT MIHDWEH DOING SUHROWND SOUHNDZ',
|
126
|
+
'BAWB CLITSAQ FROM THASHITASSNUGGETREWMJUICE',
|
127
|
+
'WHATS RAYDEN\'S FIRST????S RAYDENS FIRST????S FIRST????',
|
128
|
+
'ITS BEEN EXACTLY 1.5 SECONDS SINCE THE LAST NEW THING...WHERE\'S ALL THE NEW STUFFS BEEN EXACTLY 1.5 SECONDS SINCE THE LAST NEW THING...WHERES ALL THE NEW STUFFS ALL THE NEW STUFF',
|
129
|
+
'ECJK BOONE MAILED ME SAY NOOB KEWLIO',
|
130
|
+
'HELL YES YOU STUPID ONLIN3HOSTBITCHPUNXNEGROX< OUDOWN IS MY NIGGRUXCLITPASTE, HEEE IS IN N ALL THE CLITREWMSJUICE',
|
131
|
+
'MY FR9IEND ECKK BOOME KAN KEEK J00R ASSCLIT',
|
132
|
+
'MY MOMMAH MAKES THE VELVETTA NAD CUBES WITH BAKKIN AND CHEEZWHIZ AND MAIRIHNADES ON PARADEZ WITH HER OWN CLITSAQATTAQ JUICES',
|
133
|
+
'EYE LYKKE THAT OLD SHOW WITH DOSE GUIZ AND THAT GIRL AHD DEY LIFT IN DIS APORTAMANTOTYPEOSHIT',
|
134
|
+
'OREOSMYTH WROTE ALL THA KODES FOR THAT PACMAN GAME CUZ THEY HAD THE POWER OF M00ZIK',
|
135
|
+
'FORMICA IZ THA CLIT-SAQ NUGGET SHOOTER OF SEXVILLE BUTT WANKER (WITH CHEEZ WHIZ AND VELVEETA NAD-CUBES)',
|
136
|
+
'DAMB ITZ KE0LWIO TO TYEP WIT/O CHECKYHGN SPEULLTING',
|
137
|
+
'EE GEE EEHM SAYZ STREEETDFIGHT ALPHJA BETTETER THAND VEE EFF TOO',
|
138
|
+
'NE1 MMING CLITSAQGIFZ? PLZ ADD ME TO J0UR CLITSAQLYST',
|
139
|
+
'YYYEAHH CUZ HHHE WANNTED TOO DO XBLOOOSDSTEWRM SOO WE SAID DAMNNNN IT YO R NNOOT COOL ENOUGHH FOR MIDDWAY GO PLATYY KILAH ITSTINXYOOUN SOOSOS STUPIIDID: THARTAT ASSLIQER DANIIYL PISONYAH TTHHAWT CUZUUZ HE WANNTTED TO TOUCH OOOUR CLITSAQS',
|
140
|
+
'SKORPYUNN J00 SUQ DA JIZZNIBLTSAQ AND YOU RMOVVA WUZ A FA TTWO BITWHOLEASSNADFUQ',
|
141
|
+
'HOW THE FUCKINGJIZZHELLNIGGRUX AM I SUPPOSID TO SWEEP?',
|
142
|
+
'DEEZ NUTZ IN YO MUTHAFUXIN MOTUTH, ITS ME WARREN G DA NIGGA WIT DA CLOUT',
|
143
|
+
'OV COURSE, II BENT HEER OVAH AND PUMMPED HER CLITSAQPOUCH TILL WEE HAD TO SHEWT HER NUDEALITY WITH ED BEWWN',
|
144
|
+
'DOOOOOOD THERE ARE TOO MANY OF MY ASSNUGGEX FLOOOOTIN IN THE AOLROOMGIFWAREZJUICE',
|
145
|
+
'JON TOORK IZ DA BEDSTESDT KOREEOGJRUFFFUR EVUR FRO GAEMZ LYEK EMM KAH TREEH AND HE EVEN I SBETTUR THAN IREORIOSMYTTH',
|
146
|
+
'YOU KNOWW ALLL OV JOHNS TURK? WOWOOWOO HIIZ HOUSE SRGS MUST BE A BIIG GIFREWMZPALACENUGGET',
|
147
|
+
'MKCORY ROOLZZZ, I AMMM FORMING THHE ALLIANCE OV AOLERS WWWIT TH SCAT AAN D MKCORY',
|
148
|
+
'NO WAY IS WAS KKKKKONIFRMEZZ BBY MY AOLSAQHOMEZDIQLIQ MKCORY',
|
149
|
+
'OUDOWN: YEHA BUT EGMSAQ SEZ DAT SONY R00LLLLZ SO THEY MUUST BVE RIGHT... EEEGM DOESNT LIIE RIGHTH?',
|
150
|
+
'EYE KANNOT INDESTAND J00 LANGAGE DAT J00 SPAEK',
|
151
|
+
'NO SHE IS NOO T AS ALLEEET AS WE R, SHE DOENSSNMT CALL AOL LLIKE ALL US NEGRUXES',
|
152
|
+
'DAMNIT ALL J00 NEGGIRUX IS CRAMPIN MY BLAQSAQ MOMUHZ TITTIES, SHE IS IN AALLL THE CLIT T REWMSAQSHIZIT WITH ALL THE COG CUNTJIUCENUGGETS WITH BACONCHEEZEWHIZ',
|
153
|
+
'J00 MADE OUT WITF TORRY SEPEPPELLLING????',
|
154
|
+
'DONT TELL ME THAT CUZ WHEN I WUZ YOUNGRR THEY TRIED TO KILL ME TOO AND IT HURTZ WHEN YOU TALK LIKE THAT',
|
155
|
+
'OUDOOOWN, J00 R SOOO ELITTE I BET YOU CAN KIQ THE CHEEZESAQJUICE OUT OFF F TOBYEAZ',
|
156
|
+
'DONT FUXN KICK ME J00 ASS NUGGET FUXR OF THA MUTHER DICK SAQ PADDYWHACK GIVE YER DOG A BONER HEH',
|
157
|
+
'D00D DONT KIX DA AOLMAN HE GOT CLITSAQNUGGETZ DAT J00 CANT EVEN BRING YOUR GIFPASTE NEART EVEN BRING YOUR GIFPASTE NEAR',
|
158
|
+
'D00D , LIQSAX MY PHARTKNUKKLENUGGETS WHILE AFTER YOU PASTE THE GIFCLITZ!',
|
159
|
+
'HEH "CAPTNCLIT" (PLAY SUPERHERO THEME HERE) "LOOK, OVER THERE, ABLE TO LEAP OVER TALL WEENIES IN A SINGLE BOUND, ITS ***CAPTAIN CLIT***!!!"',
|
160
|
+
'DEEZNUTZ OP MY AOL SORRY ASS NUGGET CHEEZ WHIZ FUCK BUTT ASS PONY!',
|
161
|
+
'MY DAD SAYS THAT HE LIKES TO USE AOL FOR ITS STOCK QUOTES AND SHIT BUT I LIKE TO CHAT WITH YOU PEOPLLDES AND STUFF ITS FUN AND YOU ALL DONT SUCK SO MUCH',
|
162
|
+
'DOOD KAPZ LOKK ROOLZ',
|
163
|
+
'J00 MUST B0W D0\/\/|\| 2 ~|~|-|3 ALLMIGHTY A()|_-|\/|A|\|',
|
164
|
+
'SPUDZ: AT LEEST I DONT HAF PUD\' IN MY NAME, JAQSAQ-WIT-CHEEZ-IN-BAQ!!!PUD IN MY NAME, JAQSAQ-WIT-CHEEZ-IN-BAQ!!! IN MY NAME, JAQSAQ-WIT-CHEEZ-IN-BAQ!!!',
|
165
|
+
'MOE LESTER? IS THAT J00?',
|
166
|
+
'GO TO THE REWMSAQ FOR JAQ',
|
167
|
+
'DOOD< ITS OWDOWM THAT GUYY Y FROM THA INTERNUT< HEES ONE OF THOZE GUYYS BUT HE KNOOOW S HOW COOLIO AOLERS ARR',
|
168
|
+
'NO J00 STUPID FUXORSAQLIQER ITS HEYWOOD J00BLOWME',
|
169
|
+
'I KAN TAKK GOODLIKE CAUSE IM SMAERT',
|
170
|
+
'I GO TOO USERNETT AND BE COOL AND SHIT',
|
171
|
+
'ECK BOONNE MAILED ME SAY RAIN HERE1!!!!',
|
172
|
+
'NO WAYH IM NOT ANY KEWLLIOHER THAN J00 AND IM FROM THE INTURNUTT',
|
173
|
+
'NOWAY MY BROTHER IS STEVEN TYLURZ MOM AND HE SEZ THAT IT WUZ ALL HIS DOING FOR THAT GAME AND SO I MUST BE RITE AND SO YOU JUST ALL SUCK DICK ASS FAG CLIT SAQ!',
|
174
|
+
'J00 DONT EVEN LIVE NEER HIM D00D... PLUS HES FRENDZ WITH MY FREND BILL ITONMYCARDT EVEN LIVE NEER HIM D00D... PLUS HES FRENDZ WITH MY FREND BILL ITONMYCARD',
|
175
|
+
'SO LYKE THERZ A PROBLUM WIT YER AHKKOUNT AND SO EYE WORK FOR AY OH ELL AND EYE NEED J00R PASSWRED SO THAT I CAN FIX THE PROBLUM AY ESS AY PEE',
|
176
|
+
'(J00 HAVVE VIOLATE D YOUR TERMMS OF ZERVICE (KEEYWERD: TOSSAQ))',
|
177
|
+
'J00 BUNCH OF CLITPUNX NIGGRU0XIZZ!!!!1!',
|
178
|
+
'J00 THINK YER FUNNY SPUDZ? WELL J00 ARENT CUZ MY FREND NADSAQ JACQSON QILL KICK YOUR ASS ANYDAY',
|
179
|
+
'CUNTPASTE? THAT GUY MICK PHILCRACKIN SED THAT WUZ GOOD.... BUT I TRIYED MY MOMUHZCUNTPASTERREWMZ AND THEY SUQZ A PHATT NUTT',
|
180
|
+
'Y0 WHADD ^ MUH NIGGR0X FORMIKAPZ HOW LONG HAF J00 BEEN IN THIZ REWMJUICE, NUGGASS?',
|
181
|
+
'DOOD J00 CLITSAQ, ITTS S A JAQSAQ_WIT_CEHEEZE AND BACONBITS J00 BLAQSAQ MOMUHZ TITTIEZ GIFREWMJUICE CUNTPASTE LIQER',
|
182
|
+
'DOHNT MAYKE ME HAFTUH PLUS BEE YER AYAZZ!!!!!!!!!',
|
183
|
+
'DAMN 12 YR OLDZ THINK THEYRE KRADDER THAN MR AOLMAN',
|
184
|
+
'EYE EM UH MASTER BAITER',
|
185
|
+
'IM SOO SMAERT THAT DEEZNUTZ HAVE NO IDEEA WHAT MY CLITSAQPASTE WAREZJUICE HAS TO DO WITH THE FAGAPPLE JAGMELLON BUT HOW THE MOMUHAZZNUGG HAS A BIG WAREZGIFREWM',
|
186
|
+
'OOPS I MEAN HEY DEWDNUGGET SAQLIQQUR FAGAZZNUGG PORKNADZ!',
|
187
|
+
'J00 ALL WANNA BEE L33T LIKE AOLMAN, CUZ EYEM DA NUMMA ONE NUTSAQLIQ0R',
|
188
|
+
'HAHAHAHAH CAPS LOCK IS SO EREET, I BET R0B0C0D USES IT ALL THE TIME IN THOSE WAREZ CHANNELZ... HE SAYS LIKE "GIVE ME WAREZ OR I WILL COLLIDE YOUR AZZ" AND THEY JUST DO',
|
189
|
+
'DUZ ANYNOE HAEV ANY BALD 10 YEER OLD CLITSAQ GIFSROOMPASTEZ? I AM LIKE A GIRLNUGGET KOLLEKTER',
|
190
|
+
'WELL FUXN LAMUH OF DA SECOND SUN RISING ON THE CHEEZ NAD NUGGASS CLITSAQ OF LOVE TUNNEL PENISTOUCHR FAG BUTT PINK WEARER!!!!!!!!N LAMUH OF DA SECOND SUN RISING ON THE CHEEZ NAD NUGGASS CLITSAQ OF LOVE TUNNEL PENISTOUCHR FAG BUTT PINK WEARER!!!!!!!!',
|
191
|
+
'AOL SHITT D00D ASS NUGGET FAG PONY CHUNKS',
|
192
|
+
'OOPZ HEH IM SO SMAERT',
|
193
|
+
'I WISH I COULD BE THAT LEET, I AM A TOTAL LAMER THO BITCH ASS CLITWEARIN PUNXMUVFUX PENISTOUCHN DORKLICK DUDE',
|
194
|
+
'RACKBOY DONT FALL OUT OF YOU NADAZZ CHAIR THERE HOMEYNAD FUGHORSENUGGET BUTTAPPLE',
|
195
|
+
'JACQUES STRAPPONHEAD PASTENUGG BUTTAPPLE FAGMELON',
|
196
|
+
'HORSEBOY JACKKNAD CLITSAQAZZ',
|
197
|
+
'HEH IF J00UR GRAFX FILEZ SPIT WHITE CRAP ON MYAZZ ILL HAFTA BUSS A NUTT ALL OVER YOUR PAGEZ',
|
198
|
+
'HEH VICUR LYKEZ HORSENADZ AND STUFF LIKE MY FRENID JACK OFFENBEDT',
|
199
|
+
'PHUKKEN JERKNAD SHITSUXR FUGNUGGETPASTE SERVISS PROHVYDEUR SUX SHITBALLZ OF WAREZPASTE',
|
200
|
+
'J-REK AZZNECK FAGNEGGROX?',
|
201
|
+
'D00D, KEEP DAT GIFROOMPASTE TO YOUR OWN SAQNUGGETZ',
|
202
|
+
'SPEAK OF THA DEVILHORSE NADAYAZZ',
|
203
|
+
'HEH I UZED TO TAKE THA BUSS TO SKEWL',
|
204
|
+
'HELL YES, ITS ALL ABOUT WHEN YOU GO INTO THOSE ROOMS WITH ALL FORTYFIVE EATIN BITCH PUSSY CLIT CHUNX WAREZ GIFZ OF CUNT CHICK ASS LICKERS DUDE',
|
205
|
+
'THERE GOES MY ASSCHUCK SIDE PAINS AGAIN',
|
206
|
+
'HEHE IM CRING',
|
207
|
+
'I HATE THE WAREZ ROOMS ON AOL THEY ARE ALL SO ANGRYEE AT ME CUZ I LEECH OR WHATEEVR FROM THE CLITSAQ STASH BUT THEY DONT UDNERSNAD WHAT THEY ARE DOING CUZ IM A MEMBER OF A BIG WAREZ ELEET GROUP AND CAN GET -1DAY WAREZ ALL THE TIME',
|
208
|
+
'BITCH MY PUNK ASSCHEESELICK CARPAL TUNNELS ARE HURTIN LIKE A PINK BUTT HOT DOG ASS JUICE DRINK BITCHPUNX',
|
209
|
+
'BEEEATCH, ARE J000 ST3PPIN TO MY CLIT SAQ LEECH ASS HOTDAMN WAREZ TALKIN CUNTPUNX?',
|
210
|
+
'HAHHA OK HERE WE GO, NOW WE HE STARTING TO SENSE NO MAKE OUT OF OUR CLITSAX',
|
211
|
+
'FUX NO, CLIT BAG BIG SAQ SWINGER PUNX-ASS JAQ-OFF!',
|
212
|
+
'EAT MY SAQPUNX WAREZ CAT CUNT LICKER, I AM MORE ELITE THAN YOUR BITCHPUNX CLITGIF ROOM DRINK',
|
213
|
+
'DONT EVEN TELL ME ABOUT YOUR MOMUHZ CLIT HOT DOG JUICE SAQ CUZ I ALREADY HEARD ABOUT IT FROM JAQ THA BLAQ SAQS BIG MAQ WITH CHEEZ AND BACON!S BIG MAQ WITH CHEEZ AND BACON!',
|
214
|
+
'DAMNNIT NEGROX, MY SAQ ATTAQIN CLITPUNX IS ABOUT TO TAKE ALL YOUR DOG CUNT WAREZ GIFS FOR MY BIG ASS MOMUHZ CUM PARTY ROOM CLITMONGER SHIT',
|
215
|
+
'I GOT SHIT COMING OUT OF MY NOSE IM LAUGHING SO HARD',
|
216
|
+
'OW MY HEAD HURTZ BAD ASS CLIT SAQ NIGGRUX',
|
217
|
+
'THESE ASSNUGGETPONYS ARE JUST TOO DAMN CLITFUXIN FUNNY',
|
218
|
+
'MAN THIS SUXKS I KANT STOP LAFFING',
|
219
|
+
'DAMN MY CLIT NUGGET WAREZBITCH IS CUMMIN WITH THAT ROOMJUICE, IM ABOUT TO BITCHFUCK THE DOGPISS NIGGEROX THAT FUNX MY GIFMOMSCLIT SHITFUX',
|
220
|
+
'EYE THINK FORMICAPS HAS SPENT A LITTLE TOO MUCH CLITFUXINTIME IN A AOL ROOMJUICE',
|
221
|
+
'J00 FUXN WAREZMONGER MOMSCLITSUXR ASS PONY BIZZNATCH NEGROXZR ASS PONY BIZZNATCH NEGROXZ',
|
222
|
+
'BITCH I HAVENT CLITFUXED IN THAT ROOMSHITBITCHPUNX ON AOLNUGGET SINCE I HAD TO GIFSTRADESHITFUCK MONEY FOR SOME CLITSHITASSLICKIN JUICE',
|
223
|
+
'GO DAMN IM BEGINNING TO CLITFUX UNDERNDASDTD YOU',
|
224
|
+
'YOU KNOW WHATS NUGGET FUXED UP IS THAT I UNDERSTOOD THOSE ASSNUGGETS THE FIRST TIME YOU TYPED THEM',
|
225
|
+
'I CAN MAKE A GOOD OMELETTE OUT OF MY ASS NUGGETS AND I ADD CHEEZ AND BAKIN TO MY MOMS CLIT-SAQ JUICES THEN I MIX IT UP IN MY STRAWBERRY SHORTCAKE PLAY OVEN AND IT COMES OUT ALL TASTY AND GOOEY GOOD LIKE REAL OMELLETZ ARE',
|
226
|
+
'BITCHPUNX, IF J00 ASSLICKED MY NUGGEX FROM THAT NIGGEROX CLITJUICER, J00 N33D TO TRADEGIFSPONYXS MY MOMUHZ KEYWORD BITCHSLAPHOEATER',
|
227
|
+
'SUX BUTZ NUTZ IN THA CLITSAQ JAQ AND THA BIG BLAQ MAQ DADDEEE',
|
228
|
+
'I THINK IM GONNA VOMIT',
|
229
|
+
'J00V3 G0+ M4IL!!!!!!!!!!!V3 G0+ M4IL!!!!!!!!!!!',
|
230
|
+
'J00VE GOT BITCHPUNX!!!',
|
231
|
+
'MUST BE SOME CLITGIFJUICEBITCHPUNX PONYASSLCIKWAREZ SHIT',
|
232
|
+
'D00D SAVE THIS BITCHAZZ NIGGRUX CHANNEL WINDOWZ CLIT SAQ! DCC IT TO ME L8R ON SHIT NUGGASS',
|
233
|
+
'K TO THIS STUFF LIKE A BITCHPUNX TO ASSNUGGETS',
|
234
|
+
'I WILL COPY IT TO THE NUGGETBOARD',
|
235
|
+
'HAHAHAHHAHAHAHAHA OBVIOUSLY HE MEANT CLITJUICEPASTE FOR THOSE NIGGEROX IN THE WAREZ GIF MOMUHZFUX ASS DOG KILLAH REWMZ',
|
236
|
+
'HEHEHE POST I ON THE WAREZNEGGRUX FOR MY CLITASSROOMGIFS DOG HOT SUX ASSFUCKSHIT UP HEY?',
|
237
|
+
'GODDAMNIT I JUST SPIT COKE ALL OVER MY ASSPUNX NUGGETSBLANKETSHIT',
|
238
|
+
'LAUGHING LIKE A BITCHASSNIGGEROX IN A CLITFUXROOMWAREZJUICE',
|
239
|
+
'NIGGEROX THATS SO FUCKEDUPPONYASS',
|
240
|
+
'HOLY ASSPUNX AND NIGGRUX BATMANSHIT FUXN LAMUHS BITCHASSNIGRUSAXINDAROOM WITH GIFS AND SHITTOO?',
|
241
|
+
'DAMN RIGHT ITS LIKE WHEN YOUR PONYASSNUGGETJUICE GETS INTO YER MOUHZ BLAQSAQATTAQ AND FUXORS GIFJUICE YOUR CLITSAQ',
|
242
|
+
'HEHEHHE EYEM SEW MUVFUXN EREET',
|
243
|
+
'OK, IM GONNA PEE MY PANTS,',
|
244
|
+
'DIE J00 ST00PID ASSFUX PONY NUGGET AUTOGREETS CLITJUICE ASS DOG LICKER',
|
245
|
+
'I THINK IT MUST BE ASSPONYCUNTFUX DAY OR SOMETHING...',
|
246
|
+
'HEHHE CLITJUICESAQLIQ SHAOKAPS IZ GONNA BITCHAZZ PIZZ IN HIZZASS PANTS OF HELLSHITFIRE WITH THE NIGGRUXROOMJUICEWARES',
|
247
|
+
'J00 NUTSAQ FAGASS PONYDICKJUICE FUQOR COCKFIGHTIN TAQ NAQ (SHEEET!)',
|
248
|
+
'||THAT SHITASSPONYNIGGEROXJUICE PASTEWAREZ||',
|
249
|
+
'ITS ALL ABOUT THE AOL WAREZ TRADEGIFCUNTPASTE PONYNUGGET CLITSAQ',
|
250
|
+
'KCUF FFO, DAWKCID!',
|
251
|
+
'HEHE YAH J00 FAQSAQ BUTTSMAQ NIGGRUH OF THA BLAQJAQ WAREZJUICE REWMZ OF DOOM!',
|
252
|
+
'HEH JAG ME OFF HEHEHE IM FUNNY AS HELLM FUNNY AS HELL',
|
253
|
+
'EYE WHISH MY MHOMMA WHOULD CHANGE MY LITTEL SISTR IN PHR0NT OF MH3 STILLLL',
|
254
|
+
'HEY J00 CUNTSAQ CLITSAQLIQ0R SAQPRODCOWPROD NIGGR0X OF A PONYASS',
|
255
|
+
'EYE M KRADDEST TO THE NEHGATIVE 4TEETH POWAHZ DOODZSPOOGE',
|
256
|
+
'DATS ALOT OF SAQNUGGETSPOOGEPASTE',
|
257
|
+
'DONT MAKE ME BREAK OUT THE SAQ MUCHING BUTTCHOADERST MAKE ME BREAK OUT THE SAQ MUCHING BUTTCHOADERS',
|
258
|
+
'I USED TO WURK AT J00L IN MELOSR PAERK WIF DA NUTZBALL SPOOGE LOADERS... IT SUQD AYAZZPONYNUGGETZ',
|
259
|
+
'DOING?',
|
260
|
+
'EYE KUNT FUXING HAIR JOO CLITSAQSNATCHSPOOGATHONBASTICH',
|
261
|
+
'EYE PLAY WIF PHISHEZZ LYKE SACQUE J00STEAU',
|
262
|
+
'HEY THERE BUNGSPELUNKURR WASSUP??/?',
|
263
|
+
'J00 SAQSNAKKK0R!!!',
|
264
|
+
'LLOK ITZ THIS GUY D00DSAQZ!!!1!',
|
265
|
+
'HEH HE SAYD JOYN HEHHEHEH',
|
266
|
+
'WOW WHRED J00 CUMM FOMR NUTSAQLIQ0R?',
|
267
|
+
'EYEARSEE IS DA SHYTT D00DZNUT!',
|
268
|
+
'KEWLI0, EYEV BIN WAITNIG FER J00, WHERE ARE DOZE KIDDIESEXGIFOGRAFZ DAT J00 SAID J00D GIB MEE???/?'
|
269
|
+
]
|
270
|
+
end
|
271
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
class AutoKick < ModSpox::Plugin
|
2
|
+
|
3
|
+
include Models
|
4
|
+
|
5
|
+
def initialize(pipeline)
|
6
|
+
super
|
7
|
+
group = Group.find_or_create(:name => 'autokick')
|
8
|
+
Signature.find_or_create(:signature => 'autokick list', :plugin => name, :method => 'list', :group_id => group.pk,
|
9
|
+
:description => 'List active autokick rules')
|
10
|
+
Signature.find_or_create(:signature => 'autokick add (#\S+) (\d+) (\S+) (.+)', :plugin => name, :method => 'add',
|
11
|
+
:group_id => group.pk, :description => 'Add new autokick rule for current channel',
|
12
|
+
:requirement => 'public').params = [:channel, :time, :regex, :message]
|
13
|
+
Signature.find_or_create(:signature => 'autokick add (\d+) (\S+) (.+)', :plugin => name, :method => 'add',
|
14
|
+
:group_id => group.pk, :description => 'Add a new autokick rule').params = [:time, :regex, :message]
|
15
|
+
Signature.find_or_create(:signature => 'autokick remove (\d+)', :plugin => name, :method => 'remove',
|
16
|
+
:group_id => group.pk, :description => 'Remove an autokick rule').params = [:id]
|
17
|
+
@pipeline.hook(self, :banner_watch, :Internal_PluginResponse)
|
18
|
+
@banner = nil
|
19
|
+
@map = nil
|
20
|
+
AutoKickRecord.create_table unless AutoKickRecord.table_exists?
|
21
|
+
do_listen
|
22
|
+
end
|
23
|
+
|
24
|
+
def list(message, params)
|
25
|
+
records = AutoKickRecord.all
|
26
|
+
unless(records.empty?)
|
27
|
+
records.each do |record|
|
28
|
+
reply message.replyto, "\2ID:\2 #{record.pk} \2Channel:\2 #{record.channel.name} \2Pattern:\2 #{record.pattern} \2Ban Time:\2 #{Helpers.format_seconds(record.bantime)} \2Kick Message:\2 #{record.message}"
|
29
|
+
end
|
30
|
+
else
|
31
|
+
reply message.replyto, 'No rules currently enabled'
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def add(message, params)
|
36
|
+
if(params[:channel])
|
37
|
+
channel = Channel.filter(:name => params[:channel])
|
38
|
+
else
|
39
|
+
channel = message.target
|
40
|
+
end
|
41
|
+
if(channel)
|
42
|
+
record = AutoKickRecord.new
|
43
|
+
record.channel_id = channel.pk
|
44
|
+
record.pattern = params[:regex]
|
45
|
+
record.message = params[:message]
|
46
|
+
record.bantime = params[:time]
|
47
|
+
record.save
|
48
|
+
reply message.replyto, "New autokick rule has been created"
|
49
|
+
do_listen
|
50
|
+
else
|
51
|
+
reply message.replyto, "\2Error:\2 I have no record of #{params[:channel]}. Failed to add autokick rule."
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def remove(message, params)
|
56
|
+
record = AutoKickRecord[params[:id].to_i]
|
57
|
+
if(record)
|
58
|
+
record.destroy
|
59
|
+
reply message.replyto, "Autokick rule \2#{params[:id]}\2 has been removed"
|
60
|
+
do_listen
|
61
|
+
else
|
62
|
+
reply message.replyto, "\2Error:\2 Failed to find an autokick rule with ID: #{params[:id]}"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def listener(message)
|
67
|
+
if(@map.keys.include?(message.target.pk))
|
68
|
+
@map[message.target.pk].each do |pattern|
|
69
|
+
reg = Regexp.new(pattern)
|
70
|
+
unless(reg.match(message.message).nil?)
|
71
|
+
record = AutoKickRecord.filter(:pattern => pattern).first
|
72
|
+
@banner.ban(message.source, message.target, record.bantime, record.message, invite=false, show_time=true)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def banner_watch(message)
|
79
|
+
if(message.origin == self && message.found?)
|
80
|
+
@banner = message.plugin
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
private
|
85
|
+
|
86
|
+
def do_listen
|
87
|
+
@map = nil
|
88
|
+
begin
|
89
|
+
@pipeline.unhook(self, :listener, :Incoming_Privmsg)
|
90
|
+
rescue Object => boom
|
91
|
+
#ignore
|
92
|
+
end
|
93
|
+
records = AutoKickRecord.all
|
94
|
+
if(records.size > 0)
|
95
|
+
@map = {}
|
96
|
+
records.each do |record|
|
97
|
+
@map[record.channel_id] = [] unless @map[record.channel_id]
|
98
|
+
@map[record.channel_id] << record.pattern
|
99
|
+
end
|
100
|
+
@pipeline << Messages::Internal::PluginRequest.new(self, 'Banner')
|
101
|
+
@pipeline.hook(self, :listener, :Incoming_Privmsg)
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
class AutoKickRecord < Sequel::Model
|
106
|
+
set_schema do
|
107
|
+
primary_key :id
|
108
|
+
text :pattern, :null => false
|
109
|
+
integer :bantime, :null => false, :default => 60
|
110
|
+
text :message, :null => false
|
111
|
+
foreign_key :channel_id, :table => :channels
|
112
|
+
end
|
113
|
+
|
114
|
+
def channel
|
115
|
+
ModSpox::Models::Channel[channel_id]
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class AutoRejoin < ModSpox::Plugin
|
2
|
+
|
3
|
+
def initialize(pipeline)
|
4
|
+
super
|
5
|
+
@pipeline.hook(self, :check_kick, :Incoming_Kick)
|
6
|
+
end
|
7
|
+
|
8
|
+
def check_kick(message)
|
9
|
+
if(message.kickee == me)
|
10
|
+
@pipeline << Messages::Outgoing::Join.new(message.channel)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# ex: set ts=4 et:
|
2
|
+
# rip-off of Dack's Web Economy Bullshit Generator (http://dack.com/web/bullshit.html)
|
3
|
+
# Copyright 2007 Ryan "pizza" Flynn
|
4
|
+
# Ported 2008 spox
|
5
|
+
|
6
|
+
class Bullshit < ModSpox::Plugin
|
7
|
+
include ModSpox::Models
|
8
|
+
def initialize(pipeline)
|
9
|
+
super(pipeline)
|
10
|
+
Signature.find_or_create(:signature => 'bullshit', :plugin => name, :method => 'bullshit', :description => 'Web economy bullshit generator')
|
11
|
+
@bs = [[ "aggregate","architect","benchmark","brand","cultivate","deliver","deploy","disintermediate","drive","e-enable","embrace","empower","enable","engage","engineer","enhance","envisioneer","evolve","expedite","exploit","extend","facilitate","generate","grow","harness","implement","incentivize","incubate","innovate","integrate","iterate","leverage","matrix","maximize","mesh","monetize","morph","optimize","orchestrate","productize","recontextualize","redefine","reintermediate","reinvent","repurpose","revolutionize","scale","seize","strategize","streamline","syndicate","synergize","synthesize","target","transform","transition","unleash","utilize","visualize","whiteboard" ],
|
12
|
+
[ "24/365","24/7","B2B","B2C","back-end","best-of-breed","bleeding-edge","bricks-and-clicks","clicks-and-mortar","collaborative","compelling","cross-platform","cross-media","customized","cutting-edge","distributed","dot-com","dynamic","e-business","efficient","end-to-end","enterprise","extensible","frictionless","front-end","global","granular","holistic","impactful","innovative","integrated","interactive","intuitive","killer","leading-edge","magnetic","mission-critical","next-generation","one-to-one","open-source","out-of-the-box","plug-and-play","proactive","real-time","revolutionary","rich","robust","scalable","seamless","sexy","sticky","strategic","synergistic","transparent","turn-key","ubiquitous","user-centric","value-added","vertical","viral","virtual","visionary","web-enabled","wireless","world-class" ],
|
13
|
+
[ "action-items","applications","architectures","bandwidth","channels","communities","content","convergence","deliverables","e-business","e-commerce","e-markets","e-services","e-tailers","experiences","eyeballs","functionalities","infomediaries","infrastructures","initiatives","interfaces","markets","methodologies","metrics","mindshare","models","networks","niches","paradigms","partnerships","platforms","portals","relationships","ROI","synergies","web-readiness","schemas","solutions","supply-chains","systems","technologies","users","vortals","web services" ]]
|
14
|
+
end
|
15
|
+
|
16
|
+
def bullshit(message, params)
|
17
|
+
reply(message.replyto, @bs[0][rand(@bs[0].length)] + " " + @bs[1][rand(@bs[1].length)] + " " + @bs[2][rand(@bs[2].length)])
|
18
|
+
end
|
19
|
+
end
|