From 2fdf8ff667e2a3416934b8180f4e89ab06e6d77e Mon Sep 17 00:00:00 2001 From: ender <68495763+tookender@users.noreply.github.com> Date: Sun, 10 Nov 2024 21:56:43 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=AA=90=20testing=20vocab=20command=20for?= =?UTF-8?q?=20myself=20and=20i?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extensions/utility/__init__.py | 3 +- extensions/utility/vocab.py | 66 ++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 extensions/utility/vocab.py diff --git a/extensions/utility/__init__.py b/extensions/utility/__init__.py index 3e8593a..243b69c 100644 --- a/extensions/utility/__init__.py +++ b/extensions/utility/__init__.py @@ -6,9 +6,10 @@ from .source import SourceCog from .spotify import SpotifyCog from .translate import TranslateCog +from .vocab import VocabularyCommand -class Utility(InfoCog, NeofetchCog, PingCog, SourceCog, EmbedCog, TranslateCog, SpotifyCog, DefineCog): +class Utility(InfoCog, NeofetchCog, PingCog, SourceCog, EmbedCog, TranslateCog, SpotifyCog, DefineCog, VocabularyCommand): pass diff --git a/extensions/utility/vocab.py b/extensions/utility/vocab.py new file mode 100644 index 0000000..069679e --- /dev/null +++ b/extensions/utility/vocab.py @@ -0,0 +1,66 @@ +import discord +from discord.ext import commands +import random + +vocabulary = { + "Wie heißt du?": "Tu t'appelles comment?", + "Ich heiße Leo. Und du?": "Je m'appelle Leo. Et toi?", + "Wie alt bist du?": "Tu as quel âge?", + "Ich bin 14 Jahre Alt. Und du?": "J'ai 14 ans. Et toi?", + "Ich bin in der achten Klasse.": "Je suis en quatrième.", + "Hast du Geschwister?": "Tu as des frères et soeurs?", + "Ich habe einen Bruder. / Ich habe keine Geschwister": "J'ai un frère. / Je n'ai pas de frères et soeurs.", + "Hast du ein Haustier?": "Tu as un animal?", + "Ich habe einen Hund. / Ich habe kein Haustier.": "J'ai un chien. / Je n'ai pas d'animal.", + "Meine Eltern sind zusammen/getrennt.": "Mon parents sont ensembles/séparés.", + "Ich habe eine Allergie.": "J'ai un allergie.", + "Ich esse kein Fleisch, weil ich Vegetarier/in bin": "Je ne mange pas de viande, parce que je suis végétarien/ne.", + "Fußball ist nicht mein Ding.": "Le foot ce n'est pas mon truc", + "Ich mag / liebe Videospiele.": "J'aime / J'adore les jeux vidéo", + "Ich mag / liebe es, Minecraft zu spielen": "J'aime / J'adore joéur á Minecraft", + "Ich hasse / mag Shoppen nicht (so sehr)": "Je n'aime pas / Je deteste la shopping", + "Ich hasse es / mag es nicht (so sehr) zu arbeiten.": "Je n'aime pas / Je deteste travailler.", + "Ich bin ein Fan von Kylian Mbappé.": "Je suis fan de Kylian Mbappé", + "Pomme ist mein Lieblingssängerin.": "Pomme est ma chanteuse préferée.", + "Ich bevorzuge es, (Museen zu besichtigen).": "Moi, je préfère (visiter des musées)", + "Für mich, ist Sport der Horror!": "Pour moi, le sport c'est l'horreur", + "Ich treibe Sport/ klettere / spiele Gitarre.": "Je fais du sport / de l'escalade / de la guitare." +} + +class VocabularyCommand(commands.Cog): + def __init__(self, bot): + self.bot = bot + self.active_games = {} + + @commands.command(name="vocab") + async def vocab(self, ctx): + if ctx.author.id in self.active_games: + await ctx.send("You are already in a game. Type 'stop' to end it.") + return + + self.active_games[ctx.author.id] = True + await ctx.send("Starting the vocabulary game! Type 'stop' to end it.") + + while self.active_games.get(ctx.author.id): + german_phrase = random.choice(list(vocabulary.keys())) + french_answer = vocabulary[german_phrase] + + embed = discord.Embed(title="Translate to French", description=german_phrase, color=discord.Color.blue()) + await ctx.send(embed=embed) + + def check(m): + return m.author == ctx.author and m.channel == ctx.channel + + msg = await self.bot.wait_for("message", check=check) + + if msg.content.lower() == "stop": + del self.active_games[ctx.author.id] + await ctx.send("Game stopped.") + return + + if msg.content.strip() == french_answer: + embed = discord.Embed(title="Correct!", description="Well done!", color=discord.Color.green()) + await ctx.send(embed=embed) + else: + embed = discord.Embed(title="Incorrect!", description="You need to correct it to proceed.", color=discord.Color.red()) + await ctx.send(embed=embed)