diff --git a/botdiscord/bot.py b/botdiscord/bot.py index 0a2c3d4..f24de38 100644 --- a/botdiscord/bot.py +++ b/botdiscord/bot.py @@ -26,6 +26,7 @@ async def on_ready(): load_lang_mappings("discord") bot.add_view(PersistentTranslationView()) + bot.add_view(WelcomeTranslationView()) print(f"Bot Discord conectado como {bot.user}") try: diff --git a/botdiscord/ui.py b/botdiscord/ui.py index 26f1556..1612977 100644 --- a/botdiscord/ui.py +++ b/botdiscord/ui.py @@ -168,13 +168,17 @@ class WelcomeTranslationButton(discord.ui.Button): await interaction.followup.send(f"❌ Error: {str(e)}", ephemeral=True) class WelcomeTranslationView(discord.ui.View): - def __init__(self, guild_id: int): + def __init__(self, guild_id: int = None): super().__init__(timeout=None) - active_codes = get_active_languages(guild_id) - if not active_codes: + db_langs = get_available_languages() + + if guild_id is not None: + active_codes = get_active_languages(guild_id) + if not active_codes: + active_codes = get_bot_languages("discord") + else: active_codes = get_bot_languages("discord") - db_langs = get_available_languages() for lang in db_langs: if lang['code'] in active_codes: self.add_item(WelcomeTranslationButton(lang['name'], lang['code'], lang.get('flag', '')))