Index: botsoc.scm ================================================================== --- botsoc.scm +++ botsoc.scm @@ -44,11 +44,11 @@ ("wealth") ("eugenics") ("bigotry") ("genocide") ("bitcoin") ("ethnic cleansing") ("vaccination") ("autism") ("the alt-right") ("authoritarianism") ("freedom of speech") ("tooth decay") ("neurodivergence") - ("abortion") ("healthcare") + ("abortion") ("healthcare") ("the war") ("islamophobia") ("sexting") ("static typing") ("dynamic typing") ("heterophobia") ("heterosexuality")) (rule (adjective) ("racist") ("homophobic") ("misogynist") ("bigoted") ("anti-" (thing)) ("evil") @@ -243,11 +243,11 @@ ((problem) " " (modal) " " (cause-provoke) " the defeat of " i) ((problem) " cannot be distinguished from " i) (i " and " (ideology) " cannot be distinguished") (i " and " (ideology) " will produce the same result") - ((group) " " (modal) " be exploited") + ((group) " " (modal) " beaxploited") ((group) " " (modal) " still be exploited") ((group) " " (modal) " be exploited under " i) ((group) " " (modal) " still be exploited under " i) ((group) " " (modal) " face " (problem)) @@ -311,7 +311,32 @@ ("due to " (problem) ", " (pc claim i)) ("despite what " (group) " think, " (pc claim i)) ("despite what " (group) " think about " (problem) ", " (pc claim i)) ("while " (group) " think " (pc claim i) ", the reality is that " (pc claim i)) ) - -(print (statement (ideology)) "\n") + +(rule (punct) + (".") ("…") (" —") (",") + (",") ("...") (" -") (" --") + ("?") ("!") ("!?") (";")) + +(rule (end-punct) + (".") ("…") ("...") ("!") + ("?") ("!") ("!!")) + +(rule (atheists) + ("atheists") ("athiests")) + +(rule (checkmate-atheists i) + (i (punct) " checkmate, " (atheists) (end-punct)) + (i (punct) " checkmate " (atheists) (end-punct)) + (i (punct) " checkmate" (punct) " " (atheists) (end-punct)) + (i (punct) " #checkmate" (atheists)) + (i (punct) " #CheckmateAtheists") + (i (punct) " #CheckmateAthiests")) + +(define (checkmate-athiests i) + (if (eqv? (random-integer 20) 0) + (checkmate-atheists i) ; else + i)) + +(print (checkmate-athiests (statement (ideology))) "\n") Index: procbot.rb ================================================================== --- procbot.rb +++ procbot.rb @@ -1,11 +1,11 @@ #!/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 +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|FRIEND COMPUTER)\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|friend computer|(ね|)サム|(ね|)サムさん|(ね|)サムちゃん|سام|يا سام)\b/i FormalQs = [ "How may I be of assistance", "Yes", "You rang", "What can I do for you today", @@ -27,11 +27,11 @@ #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| + 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|friend computer|(ね|)サム|(ね|)サムさん|(ね|)サムちゃん|سام|يا سام)\b/i do |m| @m=m @shouting = false def reply(x) if @shouting @@ -644,11 +644,11 @@ "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"]) + 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","maso ve","resho ve","resh dalo ve"]) 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 @@ -705,11 +705,11 @@ return end result=perform(action, user) r="" if result != nil - result[0] = result[0].upcase if formality != :friendly + result[0] = result[0].upcase if formality != :friendly and formality != :ranuir r=affirmatives[formality].sample result.chomp! result += "." if not result=~/\W$/ reply r+" "+result else