1
2
3
4
5
6
7
8
9
10
11
12
13
..
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
..
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
...
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
...
154
155
156
157
158
159
160
161
162
163
164
165
166
167
...
308
309
310
311
312
313
314
315
316
317
318
319
320
321
...
332
333
334
335
336
337
338
339
340
341
342
343
344
345
...
364
365
366
367
368
369
370
371
372
373
374
375
376
377
...
396
397
398
399
400
401
402
403
404
405
406
407
408
409
...
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
...
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
...
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
...
524
525
526
527
528
529
530
531
532
533
534
535
536
537
|
#!/usr/bin/ruby
# encoding: UTF-8
require "cinch"
Bots = ["cclg", "sext", "sect", "order", "monster", "pharma", "argue","crime","drug","badbio","bottist","egret_txt", "babdio", "botsoc","dx","ransul"]
ShoutingMatch = /\b(MS\.|MS\s|SERGEANT\s|SGT\s|SGT\.)?\s*(SAMANTHA TAGGART|SAMANTHA TAGUE|SAMANTHA|SAM TAGUE|SAM TAGGART|SAMTAGUE|SAMMY|SAM|TAGUE|TAGGART)\b/
SmallMatch = /\b(ms\.|ms\s|sergeant\s|sgt\s|sgt\.)?\s*(samantha taggart|samantha tague|samantha|sam tague|sam taggart|samtague|sam|sammy|tague|taggart|(ね|)サム|(ね|)サムさん|(ね|)サムちゃん|سام|يا سام)\b/i
FormalQs = [
"How may I be of assistance",
"Yes",
"You rang",
"What can I do for you today",
"Yes",
"You rang",
................................................................................
c.user = "samtague"
c.realname = "samantha taggart"
#c.sasl.username = "sam-tague"
#c.sasl.password = "bott-ist-tot"
c.ssl.use = true
end
on :message, /\b(ms\.|ms\s|sergeant\s|sgt\s|sgt\.)?\s*(samantha taggart|samantha tague|samantha|sam tague|sam taggart|samtague|sam|tague|taggart|(ね|)サム|(ね|)サムさん|(ね|)サムちゃん|سام|يا سام)\b/i do |m|
@m=m
@shouting = false
def reply(x)
if @shouting
@m.reply x.upcase
else
................................................................................
user = m.user.nick
if ranks.include?(user)
rank=ranks[user]
else
rank="Commander"
end
cmd.map! {|x| x.strip}
cmd[1].downcase!
if cmd[1] == "ms" or cmd[1] == "ms."
formality = :formal
name = cmd[2].downcase
action = cmd[3].downcase
elsif cmd[1] == "sergeant" or cmd[1]=="sgt" or cmd[1]=="sgt."
formality = :military
name = cmd[2].downcase
action = cmd[3]
else
formality = :friendly
name = cmd[1].downcase
action = cmd[2]
end
if action == ""
................................................................................
action = cmd[0].downcase
action.sub!(/\W*$/,'')
greeting = ""
else
greeting = cmd[0].downcase
end
greetings = ["hey", "hi", "yo", "hello","hey there","hi there","yo there","heya","what up","oh shit","aw yeah","ahlan","hujambo","اهلن", "你好","morning","evening","afternoon","good morning","good evening","good afternoon", "buenos días", "buenos dias", "buenos tardes", "bonjour", "ciao", "bonsoir", "howdy"]
if greetings.include?(action.sub(/^\W*/,'').sub(/\W*$/,''))
greeting = action
action = ""
end
action.sub!(/^\W*/,'')
action.sub!(/^please/,'')
action.sub!(/please$/,'')
................................................................................
"Hold your horses, " + rank + "!",
rank + " " + user + "! Report!",
"Report!"
] : [
"Sir!",
"What's the situation, sir?",
"What's the situation, "+rank+"?",
]
}
affirmatives = {
:friendly => [
"sure thing.",
"no problem.",
"no worries.",
"will do.",
................................................................................
"Wilco!",
"Roger that!",
"Roger that, sir!",
"Roger!",
"Wilco, sir!",
"Wilco, "+rank+"!",
"Roger, " +rank+"!",
]
}
def scancmd(x,strs)
strs.each { |str|
return "" if x==str
if x.start_with?(str)
return x[str.length+1,x.length]
................................................................................
] : [
"Negative, sir.",
"Cannot comply, sir.",
"Not possible, "+rank+".",
"Negative, sir, we're pinned down!",
"We don't have the troops for that, "+rank+"!",
"Sorry, sir, there's nothing I can do."
]
}
whoareyou = {
:friendly => [
"i'm sam!",
"i'm sam tague!",
"samantha taggart",
................................................................................
], :military => [
"Sergeant Samantha Taggart reporting for duty, sir!",
"Sergeant First Class Sam Taggart, sir!",
"Sergeant Taggart, sir.",
"Sergeant Taggart, sir. The boys call me Tague.",
"Sergeant Taggart, sir. But you can call me Sam.",
"Sergeant Taggart, sir. Call me Sam."
]
}
goodgirl = {
:friendly => [
"^_^", ":)",
"thanks!",
"you're sweet",
................................................................................
"Yes, sir!",
"Sir, yes, sir!",
"Roger that, sir!",
"Thank you, sir!",
"You're not so bad yourself, sir.",
"Thank you, sir. And may I just say - it's been a pleasure serving under you, sir.",
"Godspeed, sir!"
]
}
dontcare = {
:friendly => [
"well you should care",
"why not",
"why don't you care",
................................................................................
"No backtalk!"
] : [
"With all due respect, sir, caring is cool, sir!",
rank+", sir, I urgently request that you consider your position, sir!",
"Sir, with all due respect, I believe you are mistaken as to the importance of the situation, sir.",
"Sir, this situation is rapidly spiraling out of control.",
"But "+rank+", this situation is rapidly spiraling out of control."
]
}
thankyou = {
:friendly => (mult ["np","no worries","sure thing","sure","ofc","of course","glad to help","don't worry about it","just glad to help","no problem","you got it"], ["", "!", "."]),
:formal => [
"You're welcome.",
"You're very welcome.",
................................................................................
"Don't mention it.",
"Oh, don't mention it."
], :military => [
"No thanks necessary, sir!",
"Just doing my job, sir.",
"It's what they pay me for, sir.",
"Sir, yes, sir!"
]
}
insults = {
:friendly => [
"i don't like you either, pal",
"fuck you", "fuck you too",
"get fucked", "fuck off", "suck this",
"lick my clit", "lick my tits", "suck my clit",
................................................................................
"Insubordination will not be tolerated!",
"You'll hang for this!",
"Out of line!",
"You're out of line!",
"You're out of line, soldier!",
"Out of line, "+lowranks.sample+" "+user+"!",
"You're out of line, "+lowranks.sample+" "+user+"!"
]
}
if param=scancmd(action,["meet","this is","these are",
"let me introduce you to","let me introduce",
"allow me to introduce you to",
"allow me to introduce",
"say hi to","say hello to",
"introduce yourself to"])
................................................................................
"get to meet you",
"make your acquaintance"
].sample+", "+param+(rand(2)==0 ? ". "+user+" has told me so much about you" : "")
elsif param=scancmd(action,["good night","night","gnight","g'night","i'm going to bed","going to bed","im going to bed", "bedtime", "time for bed", "it's my bedtime","its my bedtime","nighty-night"])
reply mult(["good night","night","sleep well","sleep tight","i wish you an enjoyable cycle of nocturnal hallucinations", "commencement of dormancy phase acknowledged"], ["", ", "+user, ", pesky flesh-creature", ", human", ", mortal"]).sample
elsif param=scancmd(action,["i don't care","it doesn't matter","don't care","idc","nevermind","never mind","nvm","i don't give a shit","i don't give a fuck", "does it look like i care"])
reply dontcare[formality].sample
elsif param=scancmd(action,["fuck you","fuck off","go fuck yourself","get fucked","fu","get bent","diaf","die in a fire","screw you","you cunt","you bitch","you piece of shit","you scumbag","you sleazeball","you jackass","you asshole","you cockroach"])
reply insults[formality].sample
elsif param=scancmd(action,["thanks","thank you","i appreciate it", "ty", "thx", "obliged", "much obliged","appreciated","danke","gracias","merci","merci beaucoup","shukran","shukran jazeelan","asante","asante sana","arigatou","doumo arigatou", "ありがとう", "どうもありがとう", "どうもありがとうございます","شكران", "شكران جزيلاا"])
reply thankyou[formality].sample
elsif param=scancmd(action,["well done","good work","excellent work","good girl","nicely done","nice job","good job","perfect","you did well","excellent job","you did great","you did perfect","you did perfectly","wonderful","you did good","gj"])
reply goodgirl[formality].sample
elsif param=scancmd(action,["who are you","who do you think you are","who even are you","tell me who you are","tell us who you are","introduce yourself"])
reply whoareyou[formality].sample
................................................................................
end
else
if action==""
if formality == :friendly
reply (nulls[:friendly] + [
greeting+" yourself"
]).sample
elsif formality == :formal
r = greeting
r[0]=r[0].upcase
reply r +", " + user + "."
elsif formality == :military
if lowrank
reply [
|
|
|
|
|
>
>
>
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
..
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
..
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
..
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
...
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
...
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
...
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
...
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
...
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
...
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
...
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
...
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
...
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
...
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
|
#!/usr/bin/ruby
# encoding: UTF-8
require "cinch"
Bots = ["cclg", "sext", "sect", "order", "monster", "pharma", "argue","crime","drug","badbio","bottist","egret_txt", "babdio", "botsoc","dx","ransul"]
ShoutingMatch = /\b(MS\.|MS\s|SERGEANT\s|SGT\s|SGT\.|COMRADE\s|CITIZEN\s)?\s*(SAMANTHA TAGGART|SAMANTHA TAGUE|SAMANTHA|SAM TAGUE|SAM TAGGART|SAMTAGUE|SAMMY|SAM|TAGUE|TAGGART)\b/
SmallMatch = /\b(ms\.|ms\s|sergeant\s|sgt\s|sgt\.|comrade\s|citizen\s)?\s*(samantha taggart|samantha tague|samantha|sam tague|sam taggart|samtague|sam|sammy|tague|taggart|(ね|)サム|(ね|)サムさん|(ね|)サムちゃん|سام|يا سام)\b/i
FormalQs = [
"How may I be of assistance",
"Yes",
"You rang",
"What can I do for you today",
"Yes",
"You rang",
................................................................................
c.user = "samtague"
c.realname = "samantha taggart"
#c.sasl.username = "sam-tague"
#c.sasl.password = "bott-ist-tot"
c.ssl.use = true
end
on :message, /\b(ms\.|ms\s|sergeant\s|sgt\s|sgt\.|comrade\s|citizen\s)?\s*(samantha taggart|samantha tague|samantha|sam tague|sam taggart|samtague|sam|tague|taggart|(ね|)サム|(ね|)サムさん|(ね|)サムちゃん|سام|يا سام)\b/i do |m|
@m=m
@shouting = false
def reply(x)
if @shouting
@m.reply x.upcase
else
................................................................................
user = m.user.nick
if ranks.include?(user)
rank=ranks[user]
else
rank="Commander"
end
cmd.map! {|x| x.strip}
cmd[1].downcase!
if cmd[1] == "ms" or cmd[1] == "ms."
formality = :formal
name = cmd[2].downcase
action = cmd[3].downcase
elsif cmd[1] == "sergeant" or cmd[1]=="sgt" or cmd[1]=="sgt."
formality = :military
name = cmd[2].downcase
action = cmd[3]
elsif cmd[1] == "comrade" or cmd[1]=="citizen"
formality = :ranuir
name = cmd[2].downcase
action = cmd[3]
else
formality = :friendly
name = cmd[1].downcase
action = cmd[2]
end
if action == ""
................................................................................
action = cmd[0].downcase
action.sub!(/\W*$/,'')
greeting = ""
else
greeting = cmd[0].downcase
end
greetings = ["hey", "hi", "yo", "hello","hey there","hi there","yo there","heya","what up","oh shit","aw yeah","ahlan","hujambo","اهلن", "你好","morning","evening","afternoon","good morning","good evening","good afternoon", "buenos días", "buenos dias", "buenos tardes", "bonjour", "ciao", "bonsoir", "howdy", "lif a til", "sil a iur", "s'aiur", "sosh a tur"]
if greetings.include?(action.sub(/^\W*/,'').sub(/\W*$/,''))
greeting = action
action = ""
end
action.sub!(/^\W*/,'')
action.sub!(/^please/,'')
action.sub!(/please$/,'')
................................................................................
"Hold your horses, " + rank + "!",
rank + " " + user + "! Report!",
"Report!"
] : [
"Sir!",
"What's the situation, sir?",
"What's the situation, "+rank+"?",
],
:ranuir => [
'hal masenan?',
'hal mase?',
'halte?',
'masin halte?',
'masenan?',
'han?',
'hal?',
'hal',
'an dale',
'hala pere?',
'hala perenan?',
'perenan?',
'hali iufit an sana rigaste?',
'rigastenan?',
'an sana rigastenan?',
'an sana rigaftenan?',
'hal sana geshenan?',
'gesh dalenan?',
'halit gesh dale?',
'sil a iur',
's\'aiur'
]
}
affirmatives = {
:friendly => [
"sure thing.",
"no problem.",
"no worries.",
"will do.",
................................................................................
"Wilco!",
"Roger that!",
"Roger that, sir!",
"Roger!",
"Wilco, sir!",
"Wilco, "+rank+"!",
"Roger, " +rank+"!",
],
:ranuir => [
"elen vinesh.",
"hante.",
"han.",
"hante, surin.",
"han, surin.",
"coshvin.",
"coshvin, san."
]
}
def scancmd(x,strs)
strs.each { |str|
return "" if x==str
if x.start_with?(str)
return x[str.length+1,x.length]
................................................................................
] : [
"Negative, sir.",
"Cannot comply, sir.",
"Not possible, "+rank+".",
"Negative, sir, we're pinned down!",
"We don't have the troops for that, "+rank+"!",
"Sorry, sir, there's nothing I can do."
],
:ranuir => [
"lahi narit elena risesh e masi rih elena talo ve",
"elen riho ve",
"riho ve",
"ve",
"masa vesh",
"masasto ve",
"elen vinasto ve",
"vini rih elena talo ve",
"vina riho ve",
"masa vinasto ve",
"elen masa vinasto ve"
]
}
whoareyou = {
:friendly => [
"i'm sam!",
"i'm sam tague!",
"samantha taggart",
................................................................................
], :military => [
"Sergeant Samantha Taggart reporting for duty, sir!",
"Sergeant First Class Sam Taggart, sir!",
"Sergeant Taggart, sir.",
"Sergeant Taggart, sir. The boys call me Tague.",
"Sergeant Taggart, sir. But you can call me Sam.",
"Sergeant Taggart, sir. Call me Sam."
], :ranuir => [
'an Sama varlaste',
'an Sam aste',
'an Sam sa sule',
'ani sul Sam aste',
'an Sama sule',
'Samtag-varlas ante',
'Sam ante',
'Sam-varlas ante',
'an Sama sule na varlasa lase',
'an Sama sule na varlaste',
'ran ana Samma afsule'
]
}
goodgirl = {
:friendly => [
"^_^", ":)",
"thanks!",
"you're sweet",
................................................................................
"Yes, sir!",
"Sir, yes, sir!",
"Roger that, sir!",
"Thank you, sir!",
"You're not so bad yourself, sir.",
"Thank you, sir. And may I just say - it's been a pleasure serving under you, sir.",
"Godspeed, sir!"
], :ranuir => [
'tamit elen tare',
'tilit elen tare',
'sanit elen tare',
'san shena me',
'sanit elen tare, san shena me',
'vin pelte',
'vin pelte, san',
'sana vines ien pelte',
'sana vines ien elena afpele'
]
}
dontcare = {
:friendly => [
"well you should care",
"why not",
"why don't you care",
................................................................................
"No backtalk!"
] : [
"With all due respect, sir, caring is cool, sir!",
rank+", sir, I urgently request that you consider your position, sir!",
"Sir, with all due respect, I believe you are mistaken as to the importance of the situation, sir.",
"Sir, this situation is rapidly spiraling out of control.",
"But "+rank+", this situation is rapidly spiraling out of control."
], :ranuir => [
'e mase',
'vido she',
'e, vido she',
'vido ves ien uasa me',
'reshes ien tefa me',
'resho ves ienit des uasa me',
'resho ves ienit des uastashte',
'uaste',
'masin uasa me',
'tefo ve',
'masin tefo ve',
'masi ienit des tefo ve',
'masi ienit des uasa me',
'masi ienit des uastashte',
'des rishis ien tefa me',
'des risho ves ien uasa me',
]
}
thankyou = {
:friendly => (mult ["np","no worries","sure thing","sure","ofc","of course","glad to help","don't worry about it","just glad to help","no problem","you got it"], ["", "!", "."]),
:formal => [
"You're welcome.",
"You're very welcome.",
................................................................................
"Don't mention it.",
"Oh, don't mention it."
], :military => [
"No thanks necessary, sir!",
"Just doing my job, sir.",
"It's what they pay me for, sir.",
"Sir, yes, sir!"
], :ranuir => [
"tamit elen tare",
"tamit val tare",
"sanit elen tare",
"ashit val tare",
"rig pelte",
"asha riges ien pelte",
"asha riges ien vala afpele",
"sav citte",
"sav valari citte"
]
}
insults = {
:friendly => [
"i don't like you either, pal",
"fuck you", "fuck you too",
"get fucked", "fuck off", "suck this",
"lick my clit", "lick my tits", "suck my clit",
................................................................................
"Insubordination will not be tolerated!",
"You'll hang for this!",
"Out of line!",
"You're out of line!",
"You're out of line, soldier!",
"Out of line, "+lowranks.sample+" "+user+"!",
"You're out of line, "+lowranks.sample+" "+user+"!"
], :ranuir => [
'uaste!',
'des uastashte!',
'des uasa me!',
'tef desa veshe!',
'eteffe des!',
'tefo ve des!',
'des surinto ve!',
'eteffime des!',
'des uasa mo se!',
'des uastashto se!',
'uasto ie!',
'des uastashto ie!',
'uastash!',
'des she!',
'des ie!',
'uas ie!',
'desi uas ie!',
'uas desi evtegor rana!',
'uas desi evtefime rana!',
'des rantashto ve!',
'des rantashto vo se!',
'des rantashto vo ie!',
'tef desa vesho ie!',
'veshe tef e dale uas!',
'tef vesho a uas dalo ie!',
'vittashte des!',
'vittashie des!',
'cit a tef a shen veshe desit!',
'uasa desdi fesash!',
'des aftaranash!',
'dim desat!',
'desi dim randasit!',
'desa avuenash!',
'tef desa talo ve!',
'tar desa talo ve!',
'desit tar veshe!',
'desi tar dalo ve!',
'lahi narit desa risash!',
'ris desat!',
'mac desat!',
'desa afmacanash!',
'desa afsigrisanash!',
'tahinar gatfori angatash tef veshes lata desi!',
'suf risi desat!',
'tahinte des!',
'tahinie des!',
'tahin tahinari!',
'tahuen rana evtefime!',
'des me tahuena!',
'taha me des!'
]
}
if param=scancmd(action,["meet","this is","these are",
"let me introduce you to","let me introduce",
"allow me to introduce you to",
"allow me to introduce",
"say hi to","say hello to",
"introduce yourself to"])
................................................................................
"get to meet you",
"make your acquaintance"
].sample+", "+param+(rand(2)==0 ? ". "+user+" has told me so much about you" : "")
elsif param=scancmd(action,["good night","night","gnight","g'night","i'm going to bed","going to bed","im going to bed", "bedtime", "time for bed", "it's my bedtime","its my bedtime","nighty-night"])
reply mult(["good night","night","sleep well","sleep tight","i wish you an enjoyable cycle of nocturnal hallucinations", "commencement of dormancy phase acknowledged"], ["", ", "+user, ", pesky flesh-creature", ", human", ", mortal"]).sample
elsif param=scancmd(action,["i don't care","it doesn't matter","don't care","idc","nevermind","never mind","nvm","i don't give a shit","i don't give a fuck", "does it look like i care"])
reply dontcare[formality].sample
elsif param=scancmd(action,["fuck you","fuck off","go fuck yourself","get fucked","fu","get bent","diaf","die in a fire","screw you","you cunt","you bitch","you piece of shit","you scumbag","you sleazeball","you jackass","you asshole","you cockroach","des"])
reply insults[formality].sample
elsif param=scancmd(action,["thanks","thank you","i appreciate it", "ty", "thx", "obliged", "much obliged","appreciated","danke","gracias","merci","merci beaucoup","shukran","shukran jazeelan","asante","asante sana","arigatou","doumo arigatou", "ありがとう", "どうもありがとう", "どうもありがとうございます","شكران", "شكران جزيلاا"])
reply thankyou[formality].sample
elsif param=scancmd(action,["well done","good work","excellent work","good girl","nicely done","nice job","good job","perfect","you did well","excellent job","you did great","you did perfect","you did perfectly","wonderful","you did good","gj"])
reply goodgirl[formality].sample
elsif param=scancmd(action,["who are you","who do you think you are","who even are you","tell me who you are","tell us who you are","introduce yourself"])
reply whoareyou[formality].sample
................................................................................
end
else
if action==""
if formality == :friendly
reply (nulls[:friendly] + [
greeting+" yourself"
]).sample
elsif formality == :ranuir
reply (nulls[:ranuir] + [
"a " + greeting + ['sanat','tilat','tamat'].sample
]).sample
elsif formality == :formal
r = greeting
r[0]=r[0].upcase
reply r +", " + user + "."
elsif formality == :military
if lowrank
reply [
|