VkBotLongPoll примеры ботов

import requests
import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import random

bot_session = vk_api.VkApi(token="Токен сообщества-бота, доступ ко всему")
bot_api = bot_session.get_api()
while True:
    longpoll = VkBotLongPoll(bot_session, "id сообщества-бота")
    try:
        for event in longpoll.listen():
        #...
    except requests.exceptions.ReadTimeout as timeout:
        continue

У кого есть РАБОЧИЕ боты для ГРУППЫ В БЕСЕДУ, чтобы бот только отвечал в БЕСЕДУ. Перерыл пол интернета ничего не нашел рабочего


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

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

Ваш пример рабочий. А чтобы бот отвечал только на события из беседы, можно проверять флаг event.from_chat.

Пример:

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


vk_session = VkApi(token='access_token')          # Подставьте свой
longpoll = VkBotLongPoll(vk_session, 'group_id')  # Подставьте свой
vk = vk_session.get_api()

for event in longpoll.listen():
    if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
        vk.messages.send(
            message='Test message',
            peer_id=event.obj['message']['peer_id'],
            random_id=get_random_id(),
        )

Не забудьте включить Long Poll API в настройках сообщества и подписаться на нужные события:

Включение API


Подписка на события

→ Ссылка