From 2e4576ba4b772afd78398a30128ad5683e593d6e Mon Sep 17 00:00:00 2001 From: WhatDidYouExpect <89535984+WhatDidYouExpect@users.noreply.github.com> Date: Fri, 18 Jul 2025 16:09:14 +0200 Subject: [PATCH] =?UTF-8?q?do=20NOT=20clone=20this=20=E2=9C=8C=EF=B8=8F?= =?UTF-8?q?=F0=9F=98=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/locales/en.json | 19 ++++++++++++++++--- assets/locales/it.json | 15 +++++++++++++++ modules/minigames.py | 30 +++++++++++++++--------------- modules/volta/main.py | 6 ++---- 4 files changed, 48 insertions(+), 22 deletions(-) diff --git a/assets/locales/en.json b/assets/locales/en.json index 4465658..a91a1e1 100644 --- a/assets/locales/en.json +++ b/assets/locales/en.json @@ -1,7 +1,20 @@ { - "guess_the_number": "Guess the number", - "your_guess": "Your guess (1-10)", - "memosry_file_valid": "The memory.json file is valid!", + "minigames_hangman_game": "Word: {display_word()}\nWrong guesses: {wrong_guesses}/{max_wrong}", + "minigames_hangman_lost": "You lost! The word was:", + "minigames_hangman_won": "You won! The word was:", + "minigames_hangman_already_guessed": "You already guessed", + "minigames_hangman_user_letter_guess": "Your letter guess", + "minigames_hangman_guess": "Guess a Letter", + "minigames_hangman_api_failed": "Failed to get a random word.", + "minigames_hangman": "Play Hangman with a random word", + "minigames_click_to_guess": "Click to guess a number from 1 to 10", + "minigames_guess_button": "Guess", + "minigames_wrong_number": "Wrong! The number was", + "minigames_correct": "Correct!", + "minigames_invalid_number": "Invalid number!", + "minigames_guess_the_number": "Guess the number", + "minigames_your_guess": "Your guess (1-10)", + "memory_file_valid": "The memory.json file is valid!", "file_aint_uft8": "File is not valid UTF-8 text. Might be binary or corrupted.", "psutil_not_installed": "Memory check skipped.", "not_cloned": "Goober is not cloned! Please clone it from GitHub.", diff --git a/assets/locales/it.json b/assets/locales/it.json index 954b0ce..45cfa41 100644 --- a/assets/locales/it.json +++ b/assets/locales/it.json @@ -1,4 +1,19 @@ { + "minigames_hangman_game": "Parola: {display_word()}\nErrori: {wrong_guesses}/{max_wrong}", + "minigames_hangman_lost": "Hai perso! La parola era:", + "minigames_hangman_won": "Hai vinto! La parola era:", + "minigames_hangman_already_guessed": "Hai già indovinato", + "minigames_hangman_user_letter_guess": "La tua lettera", + "minigames_hangman_guess": "Indovina una lettera", + "minigames_hangman_api_failed": "Impossibile ottenere una parola casuale.", + "minigames_hangman": "Gioca all'impiccato con una parola casuale", + "minigames_click_to_guess": "Clicca per indovinare un numero da 1 a 10", + "minigames_guess_button": "Indovina", + "minigames_wrong_number": "Sbagliato! Il numero era", + "minigames_correct": "Corretto!", + "minigames_invalid_number": "Numero non valido!", + "minigames_guess_the_number": "Indovina il numero", + "minigames_your_guess": "Il tuo numero (1-10)", "memory_file_valid": "Il file JSON è valido!", "file_aint_utf8": "Il file non è un UTF-8 valido. Forse è binario?", "psutil_not_installed": "Controllo memoria saltato.", diff --git a/modules/minigames.py b/modules/minigames.py index 9cf8b17..363c1e9 100644 --- a/modules/minigames.py +++ b/modules/minigames.py @@ -7,30 +7,30 @@ import asyncio from modules.globalvars import bot from modules.volta.main import _ -@bot.hybrid_command(description=_('guess_the_number')) +@bot.hybrid_command(description=_('minigames_guess_the_number')) async def guessthenumber(ctx: commands.Context): number = random.randint(1, 10) - class GuessModal(ui.Modal, title=_('guess_the_number')): - guess = ui.TextInput(label=_('your_guess'), style=TextStyle.short) + class GuessModal(ui.Modal, title=_('minigames_guess_the_number')): + guess = ui.TextInput(label=_('minigames_your_guess'), style=TextStyle.short) async def on_submit(self, interaction: Interaction): try: user_guess = int(self.guess.value) except: - await interaction.response.send_message("Invalid number!", ephemeral=True) + await interaction.response.send_message(_('minigames_invalid_number'), ephemeral=True) return if user_guess == number: - await interaction.response.send_message("Correct!", ephemeral=True) + await interaction.response.send_message(_('minigames_correct'), ephemeral=True) else: - await interaction.response.send_message(f"Wrong! The number was {number}.", ephemeral=True) + await interaction.response.send_message(f"{_('minigames_wrong_number')} {number}.", ephemeral=True) async def button_callback(interaction: Interaction): await interaction.response.send_modal(GuessModal()) - button = ui.Button(label="Guess", style=discord.ButtonStyle.primary) + button = ui.Button(label=_('minigames_guess_button'), style=discord.ButtonStyle.primary) button.callback = button_callback view = ui.View() view.add_item(button) - await ctx.send("Click to guess a number from 1 to 10", view=view) + await ctx.send(_('minigames_click_to_guess'), view=view) -@bot.hybrid_command(description="Play Hangman with a random word") +@bot.hybrid_command(description=_('minigames_hangman')) async def hangman(ctx: commands.Context): async with aiohttp.ClientSession() as session: async with session.get("https://random-word-api.herokuapp.com/word?number=1") as resp: @@ -45,23 +45,23 @@ async def hangman(ctx: commands.Context): max_wrong = 6 def display_word(): return " ".join([c if c in guessed_letters else "_" for c in word]) - class GuessModal(ui.Modal, title="Guess a Letter"): - letter = ui.TextInput(label="Your letter guess", style=TextStyle.short, max_length=1) + class GuessModal(ui.Modal, title=_('minigames_hangman_guess')): + letter = ui.TextInput(label=_('minigames_hangman_user_letter_guess'), style=TextStyle.short, max_length=1) async def on_submit(self, interaction: Interaction): nonlocal guessed_letters, wrong_guesses guess = self.letter.value.lower() if guess in guessed_letters: - await interaction.response.send_message(f"You already guessed '{guess}'!", ephemeral=True) + await interaction.response.send_message(f"{_('minigames_hangman_already_guessed')}'{guess}'!", ephemeral=True) return guessed_letters.add(guess) if guess not in word: wrong_guesses += 1 if all(c in guessed_letters for c in word): - await interaction.response.edit_message(content=f"You won! The word was: **{word}**", view=None) + await interaction.response.edit_message(content=f"{_('minigames_hangman_won')} **{word}**", view=None) elif wrong_guesses >= max_wrong: - await interaction.response.edit_message(content=f"You lost! The word was: **{word}**", view=None) + await interaction.response.edit_message(content=f"{_('minigames_hangman_lost')} **{word}**", view=None) else: - await interaction.response.edit_message(content=f"Word: {display_word()}\nWrong guesses: {wrong_guesses}/{max_wrong}", view=view) + await interaction.response.edit_message(content=_('minigames_hangman_game').format(display_word=display_word,wrong_guesses=wrong_guesses,max_wrong=max_wrong), view=view) async def button_callback(interaction: Interaction): await interaction.response.send_modal(GuessModal()) button = ui.Button(label="Guess a letter", style=discord.ButtonStyle.primary) diff --git a/modules/volta/main.py b/modules/volta/main.py index aae76fa..4b62144 100644 --- a/modules/volta/main.py +++ b/modules/volta/main.py @@ -7,6 +7,8 @@ import locale import json import pathlib import threading +import platform +import sys import time from dotenv import load_dotenv from functools import lru_cache @@ -62,10 +64,6 @@ if working_dir != module_dir: translations = {} _file_mod_times = {} -import locale -import platform -import os -import sys def get_system_locale(): system = platform.system() # fallback incase locale isnt set