Задать вопрос
@SaddledSharp
Кодер. Увлекаюсь информационной безопасностью.

Почему AttributeError: 'VkApi' object has no attribute 'users'? Обьясните, как получить данные пользователя VKAPI?

Всем привет, у меня есть бот для группы, мне нужно получить данные юзера, но когда я пишу:
name = vk.users.get(user_ids = event.user_id)
У меня выдаёт ошибку -
AttributeError: 'VkApi' object has no attribute 'users'

Перепробывал уже все префиксы, вот фулл код:
import time
import vk_api
import random
from vk_api.longpoll import VkLongPoll, VkEventType

def write_msg(rand_int, user_id, message):
    vk.method('messages.send', {'user_id': user_id,
                                'message': message, 'random_id': rand_int})


token = "***"

vk = vk_api.VkApi(token=token, login='****', password='*')

longpoll = VkLongPoll(vk)
print("[i]  -  Бот успешно запущен. Creator - Danil Romanov")

while True:
    time.sleep(5)
    for event in longpoll.listen():

        if event.type == VkEventType.MESSAGE_NEW:
            if event.to_me:
                request = event.text
                randint = random.randint(100000000, 900000000)
                request = request.lower()
                chat_id = vk.method('messages.getConversations')
                chat_id = chat_id['items']
                print(chat_id)

                for check in request:
                    if request == "привет":
                        name = vk.users.get(user_ids = event.user_id)  # ERROR
                        write_msg(randint, event.user_id, "Привет, " + str(name) + ". Я бот - Лёня.")
                    else:
                        write_msg(randint, event.user_id, "Не понял...")
  • Вопрос задан
  • 2192 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Taus
Где-нибудь выше определите api, а потом обращайтесь через точку
api = vk.get_api()
...
name = api.users.get(user_ids = event.user_id)

Либо используйте vk.method как в функции write_msg:
name = vk.method('users.get', {'user_ids': event.user_id})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы