Wolf_Yout
@Wolf_Yout

Как сделать смену языка?

Пытаюсь сделать смену языка, мне нужно два языка айнглийский и русский
Попробовал вот так:
custom_lang = {}
default_lang = ['ru']

async def determine_lang(bot, message):
    guild = message.guild
    if guild:
        return custom_lang.get(guild.id, default_lang)
    else:
        return default_lang

bot = commands.Bot(command_prefix=determine_prefix)

@bot.command()
@commands.guild_only()
@commands.has_permissions(administrator=True)
async def lang(ctx, *, lang="ru"):
    if lang == "ru":
        custom_lang[ctx.guild.id] = lang.split() or default_prefixes
        await ctx.reply(f'Окей! Я уже установил свой язык на русский!')
    if lang == "en":
        custom_lang[ctx.guild.id] = lang.split() or default_prefixes
        await ctx.reply(f'Okay, I`ve already set my language to English!')
    else:
        embed = create_embed(title="Язык указан неверно/The language is incorrect",description="Все языки/all languages:\nru - Русский\nen - English")
        return await ctx.reply(embed=embed)

@bot.command()
async def help(ctx):
    if determine_lang == 'ru':
        embedru = create_embed(title='Мои команды',description='**Обратите внимание! Вы можете поменять мой префикс через команду m!setprefix <Новый префикс>**\nm!play <url|название> - Воспроизвести что либо\nm!skip - Пропустить на данный момент играемую песню\nm!remove <id> - Удалить опред. песню\nm!queue - Посмотреть очередь либо узнать айди чтобы удалить\nm!now - Увидеть что играет **сейчас**\nm!volume <value> - изменить громкость(Изменяеться только после скипа)\nm!leave - Выйти + Стоп\nm!join - Зайти к вам в канал\nm!cat - Котик\nm!dog - Пёсик\nm!fox - Лисичка\nm!panda - Панда :>')
        await ctx.reply(embed=embedru)
    if determine_lang == 'en':
        embeden = create_embed(title='My commands',description='**Please note! You can change my prefix via command m!setprefix <New prefix>**\nm!play <url|title> - Play something\nm!skip - Skip the currently playing song\nm!remove <id> - Delete a certain song\nm! queue - View queue or know id to delete it\nm!now - See what is playing **now**\nm!volume <value> - change volume (Changes only after skip)\nm!leave - Exit + Stop\nm!join - Come to your channel\nm!cat - Kitty\nm!dog - Dog\nm!fox\nm!panda\nm!panda :>')
        await ctx.reply(embed=embeden)


Но никого толку, да и то команда help перестала работать
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Guerro69
вы не вызвали функцию determine_lang, код должен выглядеть вот так:
if determine_lang() == 'ru':
Так же в этой функции где вы возвращаете default_lang, следует указать индекс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект
28 нояб. 2024, в 17:38
12000 руб./за проект