Этот вопрос закрыт для ответов, так как повторяет вопрос Чат-бот для ВК. Как прочитать сообщения из беседы?
@Febel
КЕК

Как сделать так что бы бот видел сообщения бесед?

У меня есть свой бот ВК.

ВК добавили возможность добавлять сообщество в беседы. Мой бот находиться в сообществе. Все сообщения которые приходят в сообщество - на них он отвечает.

А вот сообщения из беседы, он их даже не видит.

Если открыть сообщения группы, ты там этих бесед тоже НЕ видно.
Что делать?
Как можно найти решение?

import requests
import vk_api
import vk
from random import randint
from vk_api.longpoll import VkLongPoll, VkEventType

hello = ['Доброго времени суток!','Ну привет.','Приветствую!','Приветули!','Здарова']
bye = ['Пока.','Бай-бай','До новых встреч!','Досвидания!','Пока-пока.']


vk = vk_api.VkApi(token='MYTOKEN')
vk._auth_token()


values = {'out': 0, 'count': 100, 'offset': 0}
response=vk.method('messages.getConversations', values)


def write_msg(user_id, s):
    vk.method('messages.send', {'user_id':user_id, 'message':s})
def write_group(chat_id,s):
    vk.method('messages.send', {'chat_id': chat_id, 'message': s})

	

def main():

    longpoll = VkLongPoll(vk)

    for event in longpoll.listen():

        if event.type == VkEventType.MESSAGE_NEW:

            if event.from_user:

                response = vk.method('messages.getConversations', values)

                if response['items'] and response['items'][0]['last_message']['from_id'] > 0:

                    response = response['items'][0]

                    if event.text.lower() == 'привет'т or event.text.lower() =='приветик':
                        write_msg(response['conversation']['peer']['id'], hello[randint(0, len(hello) - 1)])

                    elif response['last_message']['text'].lower() == 'пока':
                        write_msg(response['conversation']['peer']['id'], bye[randint(0, len(bye) - 1)])
                 
                    else:
                        # write_msg(response['conversation']['peer']['id'], 'Я не знаю что тебе ответить.')
                        continue



            elif event.from_chat:

                response = vk.method('messages.getConversations', values)

                if response['items'] and response['items'][0]['last_message']['from_id'] > 0:
                    response = response['items'][0]
					
                    if event.text.lower() == 'привет' or event.text.lower() =='приветик':
                        write_group(event.chat_id,hello[randint(0, len(hello) - 1)])

                    elif event.text.lower() == 'пока':
                        write_group(event.chat_id,bye[randint(0, len(bye) - 1)])

                    else:
                        continue

if __name__ == '__main__':
  • Вопрос задан
  • 3318 просмотров
Решения вопроса 1
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы