dark_firewall
@dark_firewall
Программист C#

Как проверять сообщения vk_api?

как проверять личные сообщения в вка и реагировать на них?(юзербот)
  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
drygdryg
@drygdryg
Python-разработчик
Можно использовать user long poll API для получения новых сообщений в реальном времени. Он реализован в vk_api. Получать сообщения, которые были отправлены аккаунтом, на котором запущен юзербот, и изменять их можно так:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType


vk_session = vk_api.VkApi('+71234567890', 'password')
vk_session.auth()
vk = vk_session.get_api()
longpoll = VkLongPoll(vk_session)

for event in filter(lambda e: e.type == VkEventType.MESSAGE_NEW and e.from_me, longpoll.listen()):
    text = event.text
    if text.startswith('!погода'):
        vk.messages.edit(
            message_id=event.message_id, peer_id=event.peer_id,
            message='☀ Сегодня солнечно, 27°C'
        )

Если нужно получать все сообщения, то просто убрать e.from_me:
...
for event in filter(lambda e: e.type == VkEventType.MESSAGE_NEW, longpoll.listen()):
...


Ещё, может быть, вам стоит попробовать vkbottle — фреймворк VK API, предназначенный, в первую очередь, для разработки ботов.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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