|
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()) |
|
|