@roma79737

Как сделать так, чтобы бот отвечал в беседе?

(бот добавлен в беседу, все настроено как надо)
На данный момент бот может ответить только в личных сообщениях.
Как сделать так, чтобы бот отвечал в беседе?
Прошу привести пример кода. Всем заранее спасибо за ответ.

from vk_api.longpoll import VkLongPoll, VkEventType
import vk_api
import time

token = "#токен"
vk_session = vk_api.VkApi(token=token)
response = True
str(response)

session_api = vk_session.get_api()

longpoll = VkLongPoll(vk_session)

for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW:
        response = event.text.lower()
        response = event.text.casefold()
        if event.from_user and not (event.from_me):
            response = str(response)

            if response == "Привет":
                vk_session.method('messages.send', {'user_id': event.user_id, 'message': 'Здравствуйте', 'random_id': 0})

            else:
                vk_session.method('messages.send', {'user_id': event.user_id, 'message': 'Не понял', 'random_id': 0})
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@roma79737 Автор вопроса
Сделал так.

import vk_api
from vk_api.utils import get_random_id
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import requests
from vk_api.longpoll import VkEventType

vk_session = vk_api.VkApi(token="#токен")

vk = vk_session.get_api()
longpoll = VkBotLongPoll(vk_session, "#id группы")

for event in longpoll.listen():
    if event.type == VkBotEventType.MESSAGE_NEW:
        if event.obj.text.split(" ")[0] == "Привет":
            if event.from_chat:
                vk.messages.send(random_id=get_random_id(), peer_id=event.obj.peer_id, message="Здравствуйте")
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
makssof
@makssof
Web-разработчик
event.user_id
на
event.peer_id

UPD: Посмотри вот здесь, там есть мой ответ: Почему пишешь в беседу а бот отвечает в лс?
Ответ написан
homus32
@homus32
учусь
from vk_api.longpoll import VkLongPoll, VkEventType
import vk_api
import time

token = "#токен"
vk_session = vk_api.VkApi(token=token)
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)

for event in longpoll.listen():

    if event.type == VkEventType.MESSAGE_NEW:

        if event.from_user or event.from_chat:

            message = event.obj.text.lower()

            if message == "привет":
                vk.messages.send(random_id=0, peer_id=event.obj.peer_id, message="Здравствуйте")

            else:
                vk.messages.send(random_id=0, peer_id=event.obj.peer_id, message="Не понял")
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
12 авг. 2020, в 10:11
200 руб./за проект
12 авг. 2020, в 09:40
1000 руб./за проект
12 авг. 2020, в 08:19
5000 руб./за проект