from __future__ import annotations from typing import TYPE_CHECKING from aiogram.types import BotCommand, BotCommandScopeDefault if TYPE_CHECKING: from aiogram import Bot users_commands: dict[str, dict[str, str]] = { "en": { "help": "help", "contacts": "developer contact details", "menu": "main menu with earning schemes", "settings": "setting information about you", "supports": "support contacts", }, "uk": { "help": "help", "contacts": "developer contact details", "menu": "main menu with earning schemes", "settings": "setting information about you", "supports": "support contacts", }, "ru": { "help": "help", "contacts": "developer contact details", "menu": "main menu with earning schemes", "settings": "setting information about you", "supports": "support contacts", }, } admins_commands: dict[str, dict[str, str]] = { "en": { "ping": "Check bot ping", "stats": "Show bot stats", }, "uk": { "ping": "Check bot ping", "stats": "Show bot stats", }, "ru": { "ping": "Check bot ping", "stats": "Show bot stats", }, } async def set_default_commands(bot: Bot) -> None: await remove_default_commands(bot) for language_code, commands in users_commands.items(): await bot.set_my_commands( [BotCommand(command=command, description=description) for command, description in commands.items()], scope=BotCommandScopeDefault(), language_code=language_code, ) """ Commands for admins for admin_id in await admin_ids(): await bot.set_my_commands( [ BotCommand(command=command, description=description) for command, description in admins_commands[language_code].items() ], scope=BotCommandScopeChat(chat_id=admin_id), ) """ async def remove_default_commands(bot: Bot) -> None: await bot.delete_my_commands(scope=BotCommandScopeDefault())