Edm0nd/edmond/plugins/duckland.py
2024-05-21 22:35:43 +02:00

82 lines
2.9 KiB
Python

import random
from edmond.plugin import Plugin
P_TIME = [
"ce matin", "hier soir", "aujourd'hui", "tout à l'heure", "au réveil", "",
"pendant ma course", "à l'aube",
]
P_ACTION = [
"j'ai aperçu", "j'ai caressé", "j'ai entendu", "j'ai passé du temps avec",
"je me suis arrêté vers", "je me suis promené avec", "j'ai salué",
"j'ai approché", "j'ai suivi", "je me suis assis devant", "j'ai regardé",
"j'ai parlé avec", "j'ai écouté", "je me suis endormi avec", "j'ai nourri",
"j'ai nadenade",
]
P_SUBJ_M = [
"le canard", "le 🦆", "le canard colvert", "le cygne", "le 🦢",
"le canard bleu", "le canard siffleur", "le petit caneton"
]
P_SUBJ_F = [
"la cane", "la poule d'eau", "la sarcelle", "la fuligule", "la macreuse",
"l'oie", "la harle", "l'oie 🪿"
]
P_PLACE = [
"en ville", "au parc Georges Brassens", "à Montsouris", "sous l'arbre",
"au parc", "sur la plage", "sur le chemin", "dans l'herbe",
"devant l'école", "dans la petite cour", "sur la route de montagne",
"qui cancannait", "qui dormait", "qui était devant la boutique",
"qui voulait manger", "qui demandait du pain", "sous l'abri",
"sur le quai", "à l'autel", "à la station", "dans la ruelle",
"à Vanves",
]
P_COORD = [
"et", "et donc", "et puis", "après quoi",
]
P_ACTION2_M = [
"il a cancané", "il s'est endormi", "il m'a remercié",
"il est resté avec moi", "il m'a parlé", "il a fait coin",
"il m'a suivi", "il a reclamé du pain", "il a fait KWAK",
"il s'est roulé en boule", "il était mignon", "il a barboté",
"il a fouillé la vase", "il a plongé", "il est allé nager",
"il s'est envolé", "il est rentré chez lui",
]
P_ACTION2_F = [
"elle a cancané", "elle s'est endormie", "elle m'a remercié",
"elle est restée avec moi", "elle m'a parlé", "elle a fait coin",
"elle m'a suivi", "elle a reclamé du pain", "elle a fait KWAK",
"elle s'est roulé en boule", "elle était mignonne", "elle a barboté",
"elle a fouillé la vase", "elle a plongé", "elle est allée nager",
"elle a surveillé ses canetons", "elle a suivi ses canetons",
"elle s'est envolée", "elle est rentrée chez elle",
]
def get_title():
gender = random.choice("mfn")
return " ".join((
random.choice(P_TIME),
random.choice(P_ACTION),
random.choice(P_SUBJ_M if gender == "m" else P_SUBJ_F),
random.choice(P_PLACE),
random.choice(P_COORD),
random.choice(P_ACTION2_M if gender == "m" else P_ACTION2_F),
)).strip().capitalize()
class DucklandPlugin(Plugin):
REQUIRED_CONFIGS = ["commands"]
def __init__(self, bot):
super().__init__(bot)
def on_pubmsg(self, event):
if not self.should_handle_command(event.arguments[0]):
return False
reply = get_title()
self.bot.say(event.target, reply)
return True