Бот для ВК отвечает в личку, а не в беседу
Я создаю бота-справочника для беседы в ВК на Python'е используя Callback Api. Бот работает корректно, если писать в ЛС группы. Однако, если писать в беседу(в которую добавлен бот) он отвечает в личку. Все права на чтение и т.д. выданы. Как я понял(изучая инфу в инете), у меня используется user_id, а не chat_id. Вот только я не понял, как правильно это исправить(
p.s. Желательно, чтобы бот писал и в ЛС и беседу в зависимости от того, где спрашивают.=
p.p.s возможно, вопрос кажется смешным, однако я только начал изучать эту область, а в сети я не нашёл ответа :-)
Сам бот:
from settings import *
import vk
import random
import messageHandler
@app.route('/', methods=['POST'])
def processing():
data = json.loads(request.data)
if 'type' not in data.keys():
return 'not vk'
if data['type'] == 'confirmation':
return confirmation_token
elif data['type'] == 'message_new':
messageHandler.create_answer(data['object']['message'], token)
return 'ok'
"Отвечалка":
import os
import importlib
from command_system import command_list
def load_modules():
# путь от рабочей директории, ее можно изменить в настройках приложения
files = os.listdir("mysite/commands")
modules = filter(lambda x: x.endswith('.py'), files)
for m in modules:
importlib.import_module("commands." + m[0:-3])
def get_answer(body):
# Сообщение по умолчанию если распознать не удастся
message = "Прости, не понимаю тебя. Напиши '/help', чтобы узнать мои команды"
attachment = ''
for c in command_list:
if body in c.keys:
message, attachment = c.process()
return message, attachment
def create_answer(data, token):
load_modules()
user_id = data['from_id']
message, attachment = get_answer(data['text'].lower())
vkapi.send_message(user_id, token, message, attachment)