Бот для ВК отвечает в личных сообщениях, а не в разговоре - PullRequest
0 голосов
/ 01 августа 2020

Я создаю эталонного бота для общения в ВК в Python с помощью Callback Api. Бот корректно работает, если писать в групповые сообщения. Однако, если вы пишете в беседу (в которую добавлен бот), он отвечает на личные сообщения. Все права на чтение, эт c. выпущен. Насколько я понял (изучая информацию по инте rnet), я использую user_id, а не chat_id. Но я так и не понял, как правильно исправить (

ps Желательно, чтобы бот писал и в приват, и в беседу смотря где спрашивают.

pps наверное вопрос кажется смешным, но я только начал изучать эту область, и не нашел ответа на net: -)

Сам бот:

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 importlib
from command_system import command_list

def load_modules ():
   # path from the working directory, it can be changed in the application settings
   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):
    # Default message if unrecognizable
    message = "Sorry, I don't understand you. Write '/ help' to see my commands."
    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)

Я не говорю по-английски sh ну так что прошу прощения за кривый перевод)

...