Как отправлять сообщения в беседу бот вк на python

Как отправлять сообщения в беседу через longpoll vk api


Ответы (1 шт):

Автор решения: nomnoms12

Чтобы отправлять сообщение, не нужен доступ к Long Poll.

Для отправки сообщения есть метод messages.send.

Пример:

from vk_api import VkApi
from vk_api.utils import get_random_id

ACCESS_TOKEN =  # Подставьте свой!
PEER_ID =       # Подставьте свой!

vk_session = VkApi(token=ACCESS_TOKEN)
vk = vk_session.get_api()
vk.messages.send(peer_id=PEER_ID, message='Test message', random_id=get_random_id())


"Эхо"-бот:

from vk_api import VkApi
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
from vk_api.utils import get_random_id


ACCESS_TOKEN = ''  # Подставьте свой!
GROUP_ID =         # Подставьте свой!


def main():
    vk_session = VkApi(token=ACCESS_TOKEN)
    vk = vk_session.get_api()

    longpoll = VkBotLongPoll(vk_session, GROUP_ID)
    for event in longpoll.listen():
        if event.type == VkBotEventType.MESSAGE_NEW:
            message = event.obj['message']

            vk.messages.send(
                peer_id=message['peer_id'],
                message=message['text'],
                random_id=get_random_id(),
            )


if __name__ == '__main__':
    main()
→ Ссылка