Команды

Использование

  1. Фильтр одиночного варианта команд: Command("start")

  2. Обработка команды по шаблону регулярного выражения: Command(re.compile(r"item_(d+)"))

  3. Сопоставление команды по нескольким вариантам: Command("item", re.compile(r"item_(d+)"))

  4. Обработка команды в публичных чатах, предназначенных для других ботов: Command("command", ignore_mention=True)

  5. Использование объекта litegram.types.bot_command.BotCommand как ссылку на команду Command(BotCommand(command="command", description="My awesome command")

Предупреждение

Команда не может содержать пробелы или любые другие пробельные символы

class litegram.filters.command.Command(*values: CommandPatternType, commands: Sequence[CommandPatternType] | CommandPatternType | None = None, prefix: str = '/', ignore_case: bool = False, ignore_mention: bool = False, magic: MagicFilter | None = None)[исходный код]

Этот фильтр может быть полезен для обработки команд из текстовых сообщений.

Работает только с событиями litegram.types.message.Message, которые имеют text.

__init__(*values: CommandPatternType, commands: Sequence[CommandPatternType] | CommandPatternType | None = None, prefix: str = '/', ignore_case: bool = False, ignore_mention: bool = False, magic: MagicFilter | None = None)[исходный код]

Список команд (строки или скомпилированные регулярные выражения)

Параметры:
  • prefix – Префикс для команды. Префикс всегда состоит из одного символа, но здесь вы можете передать все разрешенные префиксы, например: "/!" будет работать с командами с префиксом "/" или "!".

  • ignore_case – Игнорировать регистр (не работает с регулярным выражением, вместо этого используйте флаги)

  • ignore_mention – Игнорировать упоминание бота. По умолчанию бот не может обрабатывать команды, предназначенные для других ботов

  • magic – Проверка объекта команды с помощью магического фильтра после выполнения всех проверок

Когда фильтр пройден, litegram.filters.command.CommandObject будет передан аргументу обработчика command

class litegram.filters.command.CommandObject(prefix: str = '/', command: str = '', mention: str | None = None, args: str | None = None, regexp_match: Match[str] | None = None, magic_result: Any | None = None)[исходный код]

Экземпляр этого объекта всегда имеет команду и её префикс. Можно передать обработчику (handler) как аргумент ключевого слова command

prefix: str = '/'

Префикс команды

command: str = ''

Команда без префикса и упоминания

mention: str | None = None

Упоминание (если доступно)

args: str | None = None

Аргумент команды

regexp_match: Match[str] | None = None

Будет представлен результат соответствия, если команда представлена как регулярное выражение в фильтре

magic_result: Any | None = None
property mentioned: bool

Эта команда содержит упоминание?

property text: str

Создание оригинального текста из объекта

Разрешенные обработчики (handler)

Разрешенные типы обновлений для этого фильтра:

  • message

  • edited_message