from os import listdir from classes.poster_client import PosterClient from pyrogram.types import BotCommand, BotCommandScopeChat from modules.utils import configGet, locale async def register_commands(app: PosterClient) -> None: if configGet("submit", "mode"): # Registering user commands for entry in listdir(configGet("locale", "locations")): if entry.endswith(".json"): commands_list = [] for command in configGet("commands"): commands_list.append( BotCommand( command, locale( command, "commands", locale=entry.replace(".json", "") ), ) ) await app.set_bot_commands( commands_list, language_code=entry.replace(".json", "") ) # Registering user commands for fallback locale commands_list = [] for command in configGet("commands"): commands_list.append( BotCommand( command, locale(command, "commands", locale=configGet("locale_fallback")), ) ) await app.set_bot_commands(commands_list) # Registering admin commands commands_admin_list = [] if configGet("submit", "mode"): for command in configGet("commands"): commands_admin_list.append( BotCommand( command, locale(command, "commands", locale=configGet("locale")) ) ) for command in configGet("commands_admin"): commands_admin_list.append( BotCommand( command, locale(command, "commands_admin", locale=configGet("locale")) ) ) for admin in app.admins: await app.set_bot_commands( commands_admin_list, scope=BotCommandScopeChat(chat_id=admin) )