Spaces:
Paused
Paused
| # | |
| # Copyright (C) 2021-2022 by TeamYukki@Github, < https://github.com/TeamYukki >. | |
| # | |
| # This file is part of < https://github.com/TeamYukki/YukkiMusicBot > project, | |
| # and is released under the "GNU v3.0 License Agreement". | |
| # Please see < https://github.com/TeamYukki/YukkiMusicBot/blob/master/LICENSE > | |
| # | |
| # All rights reserved. | |
| from pykeyboard import InlineKeyboard | |
| from pyrogram import filters | |
| from pyrogram.types import InlineKeyboardButton, Message | |
| from config import BANNED_USERS | |
| from strings import get_command, get_string, languages_present | |
| from YukkiMusic import app | |
| from YukkiMusic.utils.database import get_lang, set_lang | |
| from YukkiMusic.utils.decorators import (ActualAdminCB, language, | |
| languageCB) | |
| # Languages Available | |
| def lanuages_keyboard(_): | |
| keyboard = InlineKeyboard(row_width=3) | |
| keyboard.add( | |
| *[ | |
| ( | |
| InlineKeyboardButton( | |
| text=languages_present[i], | |
| callback_data=f"languages:{i}", | |
| ) | |
| ) | |
| for i in languages_present | |
| ] | |
| ) | |
| keyboard.row( | |
| InlineKeyboardButton( | |
| text=_["BACK_BUTTON"], | |
| callback_data=f"settingsback_helper", | |
| ), | |
| InlineKeyboardButton( | |
| text=_["CLOSE_BUTTON"], callback_data=f"close" | |
| ), | |
| ) | |
| return keyboard | |
| LANGUAGE_COMMAND = get_command("LANGUAGE_COMMAND") | |
| async def langs_command(client, message: Message, _): | |
| keyboard = lanuages_keyboard(_) | |
| await message.reply_text( | |
| _["setting_1"].format(message.chat.title, message.chat.id), | |
| reply_markup=keyboard, | |
| ) | |
| async def lanuagecb(client, CallbackQuery, _): | |
| try: | |
| await CallbackQuery.answer() | |
| except: | |
| pass | |
| keyboard = lanuages_keyboard(_) | |
| return await CallbackQuery.edit_message_reply_markup( | |
| reply_markup=keyboard | |
| ) | |
| async def language_markup(client, CallbackQuery, _): | |
| langauge = (CallbackQuery.data).split(":")[1] | |
| old = await get_lang(CallbackQuery.message.chat.id) | |
| if str(old) == str(langauge): | |
| return await CallbackQuery.answer( | |
| "You're already on same language", show_alert=True | |
| ) | |
| try: | |
| _ = get_string(langauge) | |
| await CallbackQuery.answer( | |
| "Successfully changed your language.", show_alert=True | |
| ) | |
| except: | |
| return await CallbackQuery.answer( | |
| "Failed to change language or Language under update.", | |
| show_alert=True, | |
| ) | |
| await set_lang(CallbackQuery.message.chat.id, langauge) | |
| keyboard = lanuages_keyboard(_) | |
| return await CallbackQuery.edit_message_reply_markup( | |
| reply_markup=keyboard | |
| ) | |