Пользователь
Очень часто приходится работать с данными пользователя: использовать его имя, создавать его упоминание, но каждый раз делать запрос users.get, а потом получать первый его элемент — не самое эффективное решение, поэтому vkquick использует специальный объект на каждого пользователя, который вы можете создать сами или получить через payload-типы (например, vq.Sender)
User¶
Класс можно получить по прямому обращению к модулю (vq.User)
Инициализация¶
Инициализация производится путем передачи в инициализатор одного из следующих аргументов
mention: Строка с упоминанием пользователя ([id100|Имя Фамилия или что-то еще])user_id: ID пользователя (числом)screen_name: screen_name пользователя. Например:durov,deknowny,id2423423
Получение информации¶
Чтобы получить информацию о пользователе, нужно вызвать корутинный метод get_info, принимающий в себя *fields аргумент, передающийся в одноименное поле users.get и падеж в опциональный аргумент name_case для поля name_case. После этого возвращается объект со следующими полями и методами
Поля¶
| Имя | Тип | Описание |
|---|---|---|
info |
AttrMap |
Содержит весь ответ, полученный от users.get (Первый элемент поля response в ответе, т.е. вся информация о конкретном пользователе) |
fn |
str |
Имя пользователя (быстрый доступ, можно также получить через info.first_name) |
ln |
str |
Фамилия пользователя |
id |
int |
ID Пользователя |
Методы¶
Один из них — вышеописанный get_info, но он является частью инициализации
-
__format__: форматирование подставит атрибуты объекта в строку, если они обернуты в<>, т.е.Выведетuser = await vq.User(user_id=1).get_info("bdate") print(f"{user:<fn> <ln> <info.bdate>}")Павел Дуров 10.10.1984 -
mention: Принимает аргументfstring, в которое интерполируются поля самого объекта (т.е. к строке применяется вышеописанные формат). Для вышесозданного объекта:Выведетprint(user.mention("<fn>"))[id1|Павел], т.е. создаст его упоминание