Trying to find commands registration issue

This commit is contained in:
Profitroll 2023-01-04 21:58:20 +01:00
parent 9431763e6b
commit b437092fe7

View File

@ -4,6 +4,7 @@ some scheduled tasks is the main idea of this module"""
from os import listdir, makedirs, path, sep from os import listdir, makedirs, path, sep
from apscheduler.schedulers.asyncio import AsyncIOScheduler from apscheduler.schedulers.asyncio import AsyncIOScheduler
from datetime import datetime, timedelta from datetime import datetime, timedelta
from ujson import dumps
from app import app from app import app
from pyrogram.types import BotCommand, BotCommandScopeChat from pyrogram.types import BotCommand, BotCommandScopeChat
from pyrogram.errors import bad_request_400 from pyrogram.errors import bad_request_400
@ -109,6 +110,14 @@ async def commands_register():
"locales": {} "locales": {}
} }
commands_raw = {
"users": [],
"admins": [],
"group_users": [],
"group_admins": [],
"locales": {}
}
valid_locales = [] valid_locales = []
files_locales = listdir(f'{configGet("locale", "locations")}') files_locales = listdir(f'{configGet("locale", "locations")}')
@ -121,6 +130,13 @@ async def commands_register():
"group_users": [], "group_users": [],
"group_admins": [] "group_admins": []
} }
if configGet("debug") is True:
commands_raw["locales"][".".join(entry.split(".")[:-1])] = {
"users": [],
"admins": [],
"group_users": [],
"group_admins": []
}
config_modules = configGet("features") config_modules = configGet("features")
config_commands = configGet("commands") config_commands = configGet("commands")
@ -135,13 +151,26 @@ async def commands_register():
enabled = True enabled = True
if enabled is False: if enabled is False:
if configGet("debug") is True:
logWrite(f"Not registering {command} at all")
continue continue
for permission in config_commands[command]["permissions"]: for permission in config_commands[command]["permissions"]:
commands[permission].append(BotCommand(command, locale("commands")[command])) commands[permission].append(BotCommand(command, locale("commands")[command]))
if configGet("debug") is True:
commands_raw[permission].append({f"{command}": locale("commands")[command]})
logWrite(f"Registering {command} for {permission}")
for lc in valid_locales: for lc in valid_locales:
commands["locales"][lc][permission].append(BotCommand(command, locale("commands", locale=lc)[command])) commands["locales"][lc][permission].append(BotCommand(command, locale("commands", locale=lc)[command]))
if configGet("debug") is True:
commands_raw["locales"][lc][permission].append({f"{command}": locale("commands", locale=lc)[command]})
logWrite(f"Registering {command} for {permission} [{lc}]")
# Registering user commands # Registering user commands
await app.set_bot_commands(commands["users"]) await app.set_bot_commands(commands["users"])
@ -155,7 +184,7 @@ async def commands_register():
# Registering admin/owner commands # Registering admin/owner commands
for admin in configGet("admins")+[configGet("owner")]: for admin in configGet("admins")+[configGet("owner")]:
try: try:
await app.set_bot_commands(commands["admins"], scope=BotCommandScopeChat(chat_id=admin)) await app.set_bot_commands(commands["admins"]+commands["users"], scope=BotCommandScopeChat(chat_id=admin))
if admin == configGet("owner"): if admin == configGet("owner"):
logWrite(f"Registered admin commands for owner {configGet('owner')}") logWrite(f"Registered admin commands for owner {configGet('owner')}")
else: else:
@ -176,3 +205,7 @@ async def commands_register():
logWrite("Registered destination group commands") logWrite("Registered destination group commands")
except bad_request_400.ChannelInvalid: except bad_request_400.ChannelInvalid:
logWrite(f"Could not register commands for destination group. Bot is likely not in the group.") logWrite(f"Could not register commands for destination group. Bot is likely not in the group.")
if configGet("debug") is True:
logWrite(f"Complete commands registration:\n{dumps(commands_raw, indent=4, ensure_ascii=False, encode_html_chars=False)}")