From fbb451ba76dcf7e0ef0cfcc21ecd795cd57e231a Mon Sep 17 00:00:00 2001 From: Cookie <58516648+Cookie-CHR@users.noreply.github.com> Date: Fri, 15 Apr 2022 17:45:18 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Plurals,=20better=20gender=20distin?= =?UTF-8?q?ction,=20and=20more=20vocabulary=20(#12)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- royalpack/commands/diobot.py | 261 ++++++++++++++++++++--------------- 1 file changed, 146 insertions(+), 115 deletions(-) diff --git a/royalpack/commands/diobot.py b/royalpack/commands/diobot.py index c8619400..762ad2cd 100644 --- a/royalpack/commands/diobot.py +++ b/royalpack/commands/diobot.py @@ -4,119 +4,147 @@ import royalnet.engineer as engi import royalpack.bolts as rb -WHO = [ - # A chi sarà diretto l'insulto - ["Dio", "o"], - ["Zio", "o"], - ["Gesù", "o"], - ["Cristo", "o"], - ["Maria", "a"], - ["Madonna", "a"], - ["Eva", "a"], - ["Adamo", "o"], - ["Rettore", "o"], - ["Steffo", "o"], - ["Bot", "o"], - ["Telegram", "o"], - ["Discord", "o"], -] -WHAT = [ - # l'aggettivo per descrivere il soggetto - # Non deve essere per forza un insulto, anche qualche neutro è bene accetto e dà quel po' di random in più +from collections import namedtuple - "aguzzin+", - "alcolizzat+", - "antic+", - "aggressiv+", - "bestia", - "boia", - "bischer+", - "briccone", - "brutt+", - "buon+", - "buzzurr+", - "canaglia", - "cane", - "canguro nella landa dei soffitti bassi", - "capra", - "ciambelliforme", - "citrull+", - "codard+", - "complottista", - "creazionista", - "dannunzian+", - "disonest+", - "disordinat+", - "egocentric+", - "esattore delle tasse", - "fannullon+", - "farabutt+", - "gaglioff+", - "galleggiante", - "gaymer", - "grandissim+", - "grass+", - "gross+", - "ignobile", - "ignorante", - "imbroglion+", - "impertinente", - "incapace", - "incivile", - "infame (per te solo le lame)", - "infett+", - "insensat+", - "internet explorer", - "intollerante al lattosio", - "lavativ+", - "lazzaron+", - "lestofante", - "lunatic+", - "maiale", - "mangiapane a tradimento", - "manigold+", - "marran+", - "marzian+", - "mentecatt+", - "mascalzone", - "meschin+", - "nanerottol+", - "nichilista", - "novax", - "opulent+", - "palindrom+", - "pantagruelic+", - "pigr+", - "pivell+", - "poliedric+", - "porc+", - "pusillanime", - "puzzolente", - "puzzon+", - "rygat+", - "rygaton+", - "rozz+", - "saccente", - "sant+", - "satur+", - "scalz+ nella valle dei chiodi", - "sciachimista", - "screanzat+", - "sferic+", - "sfigmomanometro", - "sgarbat+", - "stupid+", - "stellare", - "tamarr+", - "terrapiattista", - "tirchi+", - "troglodita", - "tuamammic+", - "vecchi+", - "vile", - "villan+", - "viscid+", - "zotic+", + +# A chi sarà diretto l'insulto +Who = namedtuple('Who', ['name', 'gender']) + +# Gender: +# SM Singolare Maschile +# SF Singolare Femminile +# PM Plurale Maschile +# PF Plurale Femminile + + +# l'aggettivo per descrivere il soggetto +# Non deve essere per forza un insulto, anche qualche neutro è bene accetto e dà quel po' di random in più +What = namedtuple('What', ['radix', 'sm', 'sf', 'pm', 'pf']) + +who_array = [ + Who("Dio", "sm"), + Who("Zio", "sm"), + Who("Gesù", "sm"), + Who("Cristo", "sm"), + Who("Maria", "sf"), + Who("Madonna", "sf"), + Who("Eva", "sf"), + Who("Adamo", "sm"), + Who("Rettore", "sm"), + Who("Steffo", "sm"), + Who("Bot", "sm"), + Who("Telegram", "sm"), + Who("Discord", "sm"), + Who("Rygatoni", "pm"), + Who("Moderatori", "pm"), +] + +what_array = [ + What("aguzzin+", "o", "a", "i", "e"), + What("alcolizzat+", "o", "a", "i", "e"), + What("alt+", "o", "a", "i", "e"), + What("antic+", "o", "a", "hi", "he"), + What("aggressiv+", "o", "a", "i", "e"), + What("bass+", "o", "a", "i", "e"), + What("besti+", "a", "a", "e", "e"), + What("boia", "", "", "", ""), + What("bischer+", "o", "a", "i", "e"), + What("briccon+", "e", "a", "i", "e"), + What("brontolon+", "e", "a", "i", "e"), + What("brutt+", "o", "a", "i", "e"), + What("buggat+", "o", "a", "i", "e"), + What("buon+", "o", "a", "i", "e"), + What("buzzurr+", "o", "a", "i", "e"), + What("canagli+", "a", "a", "e", "e"), + What("ca+", "ne", "gna", "ni", "gne"), + What("cangur+ nella landa dei soffitti bassi", "o", "a", "i", "e"), + What("capr+", "a", "a", "e", "e"), + What("carnivor+", "o", "a", "i", "e"), + What("ciambelliform+", "e", "e", "i", "i"), + What("citrull+", "o", "a", "i", "e"), + What("codard+", "o", "a", "i", "e"), + What("complottist+", "a", "a", "i", "e"), + What("creazionist+", "a", "a", "i", "e"), + What("dalle ossa grosse", "", "", "", ""), + What("dannunzian+", "o", "a", "i", "e"), + What("disonest+", "o", "a", "i", "e"), + What("disordinat+", "o", "a", "i", "e"), + What("egocentric+", "o", "a", "i", "e"), + What("esatt+ delle tasse", "ore", "rice", "ori", "rici"), + What("espans+", "o", "a", "i", "e"), + What("fannullon+", "e", "a", "i", "e"), + What("farabutt+", "o", "a", "i", "e"), + What("gaglioff+", "o", "a", "i", "e"), + What("galleggiant+", "e", "e", "i", "i"), + What("gaymer", "", "", "", ""), + What("grandissim+", "o", "a", "i", "e"), + What("grass+", "o", "a", "i", "e"), + What("gross+", "o", "a", "i", "e"), + What("ignobil+", "e", "e", "i", "i"), + What("ignorant+", "e", "e", "i", "i"), + What("imbroglion+", "e", "a", "i", "e"), + What("impertinent+", "e", "e", "i", "i"), + What("incapac+", "e", "e", "i", "i"), + What("incivil+", "e", "e", "i", "i"), + What("infam+ (per te solo le lame)","e", "e", "i", "i"), + What("infett+", "o", "a", "i", "e"), + What("insensat+", "o", "a", "i", "e"), + What("internet explorer", "", "", "", ""), + What("intollerant+ al lattosio", "e", "e", "i", "i"), + What("lavativ+", "o", "a", "i", "e"), + What("lazzaron+", "e", "a", "i", "e"), + What("lent+", "o", "a", "i", "e"), + What("lestofant+", "e", "e", "i", "i"), + What("lunatic+", "o", "a", "i", "he"), + What("maial+", "e", "a", "i", "e"), + What("mangiapane a tradimento", "", "", "", ""), + What("manigold+", "o", "a", "i", "e"), + What("marran+", "o", "a", "i", "e"), + What("marzian+", "o", "a", "i", "e"), + What("mascalzon+", "e", "a", "i", "e"), + What("mentecatt+", "o", "a", "i", "e"), + What("meschin+", "o", "a", "i", "e"), + What("nanerottol+", "o", "a", "i", "e"), + What("nichilist+", "a", "a", "i", "e"), + What("noios+", "o", "a", "i", "e"), + What("novax", "", "", "", ""), + What("opulent+", "o", "a", "i", "e"), + What("palindrom+", "o", "a", "i", "e"), + What("pantagruelic+", "o", "a", "i", "he"), + What("pigr+", "o", "a", "i", "e"), + What("pivell+", "o", "a", "i", "e"), + What("poliedric+", "o", "a", "i", "he"), + What("porc+", "o", "a", "i", "he"), + What("pusillanim+", "e", "e", "i", "i"), + What("puzzolent+", "e", "e", "i", "i"), + What("puzzon+", "e", "a", "i", "e"), + What("quadrat+", "o", "a", "i", "e"), + What("rygat+", "o", "a", "i", "e"), + What("rygaton+", "e", "a", "i", "e"), + What("rozz+", "o", "a", "i", "e"), + What("saccent+", "e", "e", "i", "i"), + What("sant+", "o", "a", "i", "e"), + What("satur+", "o", "a", "i", "e"), + What("scalz+ nella valle dei chiodi","o", "a", "i", "e"), + What("sciachimist+", "a", "a", "i", "e"), + What("screanzat+", "o", "a", "i", "e"), + What("sferic+", "o", "a", "i", "e"), + What("sgarbat+", "o", "a", "i", "e"), + What("stupid+", "o", "a", "i", "e"), + What("stellar+", "e", "e", "i", "i"), + What("tamarr+", "o", "a", "i", "e"), + What("tard+", "o", "a", "i", "e"), + What("terrapiattist+", "a", "a", "i", "e"), + What("tirchi+", "o", "a", "i", "e"), + What("troglodit+", "a", "a", "i", "e"), + What("tuamammic+", "o", "a", "i", "he"), + What("vecch+", "io", "ia", "i", "ie"), + What("vegan+", "o", "a", "i", "e"), + What("vegetarian+", "o", "a", "i", "e"), + What("vil+", "e", "e", "i", "i"), + What("villan+", "o", "a", "i", "e"), + What("viscid+", "o", "a", "i", "e"), + What("zotic+", "o", "a", "i", "he"), ] @@ -126,11 +154,13 @@ async def diobot(*, _msg: engi.Message, **__): """ Il bot è molto arrabbiato e vuole creare insulti coloriti! """ - who = random.sample(WHO, 1)[0] - message = "🤬 " + who[0] + who = random.sample(who_array, 1)[0] + message = "🤬 " + who.name for i in range(random.randint(1, 5)): + what = random.sample(what_array, 1)[0] + what = what.radix.replace("+", getattr(what, who.gender)) message += " " - message += random.sample(WHAT, 1)[0].replace("+", who[1]) + message += what message += "!" await _msg.reply(text=message) @@ -140,3 +170,4 @@ async def diobot(*, _msg: engi.Message, **__): __all__ = ( "diobot", ) +