Merge pull request 'Add random malediction' (#9) from main into stable
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: #9
This commit is contained in:
Dryusdan 2024-01-05 15:22:31 +01:00
commit e908459541

View file

@ -5,6 +5,7 @@ import emoji
import pendulum
import random
import sqlalchemy
import typing
from discord import app_commands
from discord.ext import commands
@ -109,45 +110,57 @@ async def pschitt_list(interaction: discord.Interaction):
guild=discord.Object(id=settings["discord"]["guild_id"]),
)
@app_commands.describe(member="La victime de ta malédiction")
async def pschitt_malediction(interaction: discord.Interaction, member: discord.Member):
if member.id == interaction.user.id:
async def pschitt_malediction(
interaction: discord.Interaction, member: typing.Optional[discord.Member]
):
if member != None and member.id == interaction.user.id:
await interaction.response.send_message(
f"<@{interaction.user.id}> se lance une malédiction à lui même. Souhaite t'il obtenir une boite de rustine ?"
)
else:
number = random.randrange(3, 90, 1)
days = pendulum.now().add(days=number).diff_for_humans()
sentences = [
f"<@{member.id}>, ton pneu a décidé de jouer à cache-cache dans la boue. Retrouve-le avant qu'il ne devienne un pneu de cyclocross permanent. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu t'accuse de rouler trop vite. Tu vas devoir freiner et déclarer ton amour pour les rustines dans les prochains jours. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a décidé de se rebeller. Tu devras prochainement lui chanter une chanson apaisante en jouant de la rustine pour le ramener à la raison. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu veut être pris au sérieux. Tu devras faire une révérence à chaque piéton croisé pendant la réparation qui arrivera {days} maximum. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, tu es la victime d'une malédiction de crevaison. Récite un poème sur l'amour éternel des pneus avant de reprendre la route. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu pense que tu es trop sérieux. Fais un tour de manège sur le guidon pour lui montrer que tu peux t'amuser.",
f"<@{member.id}>, tu es sous le charme d'un pneu farceur pendant {number} jour{'s' if number > 1 else ''}. Fais un tour de rond point à la prochaine vélorution te libérer de ses farces. Sinon ton pneu crévera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a décidé de devenir artiste. Fais un dessin de ton pneu sur le bitume avec ton vélo avant qu'il ne s'exprime lui-même. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu se prend pour un critique de cinéma. Rends hommage à son flair artistique en faisant une imitation de scène dramatique à la prochaine crevaison dans{days}. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a décidé de devenir détective. Il y a de forte chance que {days} il trouve la piste des clous volés avant que tu t'en aperçois ! (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu t'accuse de ne pas être assez romantique. Fais une déclaration d'amour et offre lui des rustines avant de poursuivre. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu veut se faire des amis parmi les animaux. Imite le cri de trois animaux différents à chaque croisement pour lui donner de la compagnie. Il est timide, si tu ne le fais pas il se dégonflera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu pense que tu es trop sérieux. Fais un concours de grimaces avec les passants pour lui montrer ton côté comique. Il est timide, si tu ne le fais pas il se dégonflera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a des rêves de grandeur. Fais une révérence à chaque feux de circulation pour lui montrer qu'il est le roi de la route. Sinon il se dégonflera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu pense que tu as besoin d'une pause-café. Fais un arrêt impromptu dans le prochain café que tu croises pour le réparer. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a une nouvelle mission pour toi : transforme chaque rustine en œuvre d'art. C'est l'heure de devenir le Picasso de la réparation de crevaisons.",
f"<@{interaction.user.id}> lance une malédiction à <@{member.id}>. <@{member.id}> devra rouler en marathon+ pendant {number} jour{'s' if number > 1 else ''} s'iel veut éviter la malédiction.",
f"Un nuage noir entourne <@{member.id}>. Les éclairs coupe le ciel en deux. <@{interaction.user.id}> a jeté une malédiction. Fait gaffe aux clous <@{member.id}>. Le sort va durer {number} jour{'s' if number > 1 else ''}.",
f"<@{member.id}>, ton pneu t'enverra un signe clair dans les {number} jour{'s' if number > 1 else ''}. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, prépare-toi, <@{interaction.user.id}> te maudit d'une pluie de clous à chaque coin de rue, jusqu'à ce que tu fasses une offrande de fleurs à ta roue.",
f"<@{member.id}>, <@{interaction.user.id}> a décidé d'impliquer la nature dans ses malédictions. À chaque crevaison, un nuage de moustiques te suivra, jusqu'à ce que tu récites une prière vélocipédique.",
f"<@{member.id}>, méfie-toi, ton pneu te maudit d'une série de crevaisons à chaque fois que tu négliges de saluer un autre cycliste sur la route. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu prédit des nuits sans sommeil. À chaque crevaison non réparée, un bruit de cassette déraillée hantera ton esprit. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, tu es touchée par la malédiction des roues carrées. Tes pneus se transformeront en cubes si tu oses ignorer la prochaine crevaison. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a consulté un oracle vélocipédique. À chaque crevaison ignorée, un cri strident de sonnette résonnera dans tes oreilles jusqu'à ce que tu te repentisses. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, attention à la malédiction des chemins caillouteux ! Chaque crevaison négligée transformera ta route en un véritable champ de cactus. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, tu es sous l'emprise de la malédiction des pneus fuyards. À chaque crevaison non traitée, un vent contraire soufflera dans ta direction jusqu'à ce que tu t'excuses auprès de ton vélo. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, méfie-toi de la malédiction des crevaisons récurrentes. À chaque négligence, un pneu invisible te suivra, attendant le moment opportun pour dégonfler subitement. (<@{interaction.user.id}> t'as maudit).",
]
return
if member == None:
member = random.choice(interaction.guild.members)
number = random.randrange(3, 90, 1)
days = pendulum.now().add(days=number).diff_for_humans()
sentences = [
f"<@{member.id}>, ton pneu a décidé de jouer à cache-cache dans la boue. Retrouve-le avant qu'il ne devienne un pneu de cyclocross permanent. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu t'accuse de rouler trop vite. Tu vas devoir freiner et déclarer ton amour pour les rustines dans les prochains jours. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a décidé de se rebeller. Tu devras prochainement lui chanter une chanson apaisante en jouant de la rustine pour le ramener à la raison. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu veut être pris au sérieux. Tu devras faire une révérence à chaque piéton croisé pendant la réparation qui arrivera {days} maximum. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, tu es la victime d'une malédiction de crevaison. Récite un poème sur l'amour éternel des pneus avant de reprendre la route. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu pense que tu es trop sérieux. Fais un tour de manège sur le guidon pour lui montrer que tu peux t'amuser.",
f"<@{member.id}>, tu es sous le charme d'un pneu farceur pendant {number} jour{'s' if number > 1 else ''}. Fais un tour de rond point à la prochaine vélorution te libérer de ses farces. Sinon ton pneu crévera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a décidé de devenir artiste. Fais un dessin de ton pneu sur le bitume avec ton vélo avant qu'il ne s'exprime lui-même. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu se prend pour un critique de cinéma. Rends hommage à son flair artistique en faisant une imitation de scène dramatique à la prochaine crevaison dans{days}. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a décidé de devenir détective. Il y a de forte chance que {days} il trouve la piste des clous volés avant que tu t'en aperçois ! (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu t'accuse de ne pas être assez romantique. Fais une déclaration d'amour et offre lui des rustines avant de poursuivre. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu veut se faire des amis parmi les animaux. Imite le cri de trois animaux différents à chaque croisement pour lui donner de la compagnie. Il est timide, si tu ne le fais pas il se dégonflera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu pense que tu es trop sérieux. Fais un concours de grimaces avec les passants pour lui montrer ton côté comique. Il est timide, si tu ne le fais pas il se dégonflera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a des rêves de grandeur. Fais une révérence à chaque feux de circulation pour lui montrer qu'il est le roi de la route. Sinon il se dégonflera. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu pense que tu as besoin d'une pause-café. Fais un arrêt impromptu dans le prochain café que tu croises pour le réparer. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a une nouvelle mission pour toi : transforme chaque rustine en œuvre d'art. C'est l'heure de devenir le Picasso de la réparation de crevaisons.",
f"<@{interaction.user.id}> lance une malédiction à <@{member.id}>. <@{member.id}> devra rouler en marathon+ pendant {number} jour{'s' if number > 1 else ''} s'iel veut éviter la malédiction.",
f"Un nuage noir entourne <@{member.id}>. Les éclairs coupe le ciel en deux. <@{interaction.user.id}> a jeté une malédiction. Fait gaffe aux clous <@{member.id}>. Le sort va durer {number} jour{'s' if number > 1 else ''}.",
f"<@{member.id}>, ton pneu t'enverra un signe clair dans les {number} jour{'s' if number > 1 else ''}. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, prépare-toi, <@{interaction.user.id}> te maudit d'une pluie de clous à chaque coin de rue, jusqu'à ce que tu fasses une offrande de fleurs à ta roue.",
f"<@{member.id}>, <@{interaction.user.id}> a décidé d'impliquer la nature dans ses malédictions. À chaque crevaison, un nuage de moustiques te suivra, jusqu'à ce que tu récites une prière vélocipédique.",
f"<@{member.id}>, méfie-toi, ton pneu te maudit d'une série de crevaisons à chaque fois que tu négliges de saluer un autre cycliste sur la route. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu prédit des nuits sans sommeil. À chaque crevaison non réparée, un bruit de cassette déraillée hantera ton esprit. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, tu es touchée par la malédiction des roues carrées. Tes pneus se transformeront en cubes si tu oses ignorer la prochaine crevaison. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, ton pneu a consulté un oracle vélocipédique. À chaque crevaison ignorée, un cri strident de sonnette résonnera dans tes oreilles jusqu'à ce que tu te repentisses. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, attention à la malédiction des chemins caillouteux ! Chaque crevaison négligée transformera ta route en un véritable champ de cactus. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, tu es sous l'emprise de la malédiction des pneus fuyards. À chaque crevaison non traitée, un vent contraire soufflera dans ta direction jusqu'à ce que tu t'excuses auprès de ton vélo. (<@{interaction.user.id}> t'as maudit).",
f"<@{member.id}>, méfie-toi de la malédiction des crevaisons récurrentes. À chaque négligence, un pneu invisible te suivra, attendant le moment opportun pour dégonfler subitement. (<@{interaction.user.id}> t'as maudit).",
]
if member.id == interaction.user.id:
await interaction.response.send_message(
f"<@{interaction.user.id}> lance une malédiction mais celle ci lui retombe dessus."
)
await interaction.followup.send(f"{random.choice(sentences)}")
else:
await interaction.response.send_message(f"{random.choice(sentences)}")