Package: maxapi.utils¶
maxapi.utils
¶
commands
¶
extract_commands(handler, bot)
¶
Извлечь команды из обработчика и добавить их в бота.
Source code in maxapi/utils/commands.py
get_handler_info(handler)
¶
Получить описание обработчика.
Source code in maxapi/utils/commands.py
formatting
¶
Text(*parts)
¶
Bases: _Node
Контейнер — объединяет несколько элементов без обёрток.
Пример::
Text("Hello, ", Bold("world"), "!")
Source code in maxapi/utils/formatting.py
Bold(*parts)
¶
Italic(*parts)
¶
Underline(*parts)
¶
Strikethrough(*parts)
¶
Code(*parts)
¶
Heading(*parts)
¶
Link(*parts, url)
¶
Bases: _Node
Гиперссылка: <a href="url">text</a> / [text](url).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
text
|
Текст ссылки (строки или узлы форматирования). |
required | |
url
|
str
|
URL ссылки. |
required |
Source code in maxapi/utils/formatting.py
UserMention(display_text, user_id)
¶
Bases: _Node
Упоминание пользователя по отображаемому тексту и user_id.
В MAX API: ссылка max://user/<user_id>, текст — полное имя.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
display_text
|
Any
|
Текст упоминания (полное имя: имя и фамилия, или только имя). |
required |
user_id
|
int
|
ID пользователя для URL (max://user/user_id). |
required |
Source code in maxapi/utils/formatting.py
as_html(*parts)
¶
Собирает HTML-строку из набора элементов.
Пример::
as_html("Hello, ", Bold("world"), "!")
# 'Hello, <b>world</b>!'
as_markdown(*parts)
¶
Собирает Markdown-строку из набора элементов.
Пример::
as_markdown("Hello, ", Bold("world"), "!")
# 'Hello, **world**!'
inline_keyboard
¶
InlineKeyboardBuilder()
¶
Конструктор инлайн-клавиатур.
Позволяет удобно собирать кнопки в ряды и формировать из них клавиатуру для отправки в сообщениях.
Source code in maxapi/utils/inline_keyboard.py
row(*buttons)
¶
Добавить новый ряд кнопок в клавиатуру.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*buttons
|
InlineButtonUnion
|
Произвольное количество кнопок для добавления в ряд. |
()
|
Source code in maxapi/utils/inline_keyboard.py
add(*buttons)
¶
Добавить кнопки в последний ряд клавиатуры.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*buttons
|
InlineButtonUnion
|
Кнопки для добавления. |
()
|
Source code in maxapi/utils/inline_keyboard.py
adjust(*sizes)
¶
Перераспределить кнопки по рядам в соответствии с указанными размерами.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
*sizes
|
int
|
Количество кнопок в каждом ряду. Если кнопок больше, чем сумма размеров, размеры повторяются циклично. |
()
|
Returns:
| Name | Type | Description |
|---|---|---|
InlineKeyboardBuilder |
InlineKeyboardBuilder
|
Текущий объект для цепочки вызовов. |
Source code in maxapi/utils/inline_keyboard.py
as_markup()
¶
Собрать клавиатуру в объект для отправки.
Returns:
| Name | Type | Description |
|---|---|---|
Attachment |
Attachment
|
Объект вложения с типом INLINE_KEYBOARD. |
Source code in maxapi/utils/inline_keyboard.py
message
¶
process_input_media(base_connection, bot, att)
async
¶
Загружает файл вложения и формирует объект AttachmentUpload.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
base_connection
|
BaseConnection
|
Базовое соединение для загрузки файла. |
required |
bot
|
Bot
|
Экземпляр бота. |
required |
att
|
InputMedia | InputMediaBuffer
|
Объект вложения для загрузки. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
AttachmentUpload |
AttachmentUpload
|
Загруженное вложение с токеном. |
Source code in maxapi/utils/message.py
time
¶
to_ms(value)
¶
Преобразует datetime или числовую метку времени в миллисекунды (int).
Если value — объект datetime, возвращает int(timestamp * 1000).
Если value — int или float (уже временная метка), возвращает int(value).
Source code in maxapi/utils/time.py
from_ms(value)
¶
Преобразует миллисекунды с эпохи в объект datetime.
Если value равен None, возвращает None. Иначе возвращает datetime.fromtimestamp(value / 1000).
Source code in maxapi/utils/time.py
updates
¶
enrich_event(event_object, bot)
async
¶
Дополняет объект события данными чата, пользователя и ссылкой на бота.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
event_object
|
Any
|
Событие, которое нужно дополнить. |
required |
bot
|
Bot
|
Экземпляр бота. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Any |
Any
|
Обновлённый объект события. |
Source code in maxapi/utils/updates.py
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | |
vcf
¶
VcfInfo(full_name, phones, fields)
dataclass
¶
Результат парсинга VCF строки.
phone
property
¶
Первый телефон (если есть).
parse_vcf_info(vcf_info)
¶
Парсит строку VCF, возвращая извлечённые поля.
Поддерживаемые поля: - FN: полное имя (full_name) - TEL: телефоны (phones)