@Pyhon3x

Как решить ошибку в Vk_Api?

Делаю бота вконтакте на python. При запуске выдает ошибку:

Traceback (most recent call last):
File "C:\Users\Admin\Desktop\VK.py", line 37, in
write_msg(event.user_id, "Не поняла вашего ответа...")
File "C:\Users\Admin\Desktop\VK.py", line 5, in write_msg
vk.messages.send( #Отправляем сообщение
AttributeError: 'VkApi' object has no attribute 'messages'
<code lang="python">
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType

def write_msg(user_id, message):
    vk.messages.send( #Отправляем сообщение
    user_id=event.user_id,
    random_id=event.random_id,
    message='Тест')

# API-ключ созданный ранее
token = "secret_token"

# Авторизуемся как сообщество
vk = vk_api.VkApi(token=token)

# Работа с сообщениями
longpoll = VkLongPoll(vk)


# Основной цикл
for event in longpoll.listen():

    # Если пришло новое сообщение
    if event.type == VkEventType.MESSAGE_NEW:

        # Если оно имеет метку для меня( то есть бота)
        if event.to_me:

            # Сообщение от пользователя
            request = event.text

            # Каменная логика ответа
            if request == "привет":
                write_msg(event.user_id, "Хай")
            elif request == "пока":
                write_msg(event.user_id, "Пока((")
            else:
                write_msg(event.user_id, "Не поняла вашего ответа...")
</code>
  • Вопрос задан
  • 395 просмотров
Решения вопроса 1
total4c
@total4c
Говнокодер
def write_msg(peer_id, message):
   vk.method("messages.send", {"peer_id": peer_id, "message": message, "random_id": 0})


И сообщения от пользователей лучше всего приравнивать в нижний регистр:
request = event.text.lower()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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