Пользователь
Очень часто приходится работать с данными пользователя: использовать его имя, создавать его упоминание, но каждый раз делать запрос 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|Павел]
, т.е. создаст его упоминание