@RINAMI
Занимаюсь монтажом и дизайном. PSD,AEX,VEG.

Почему бот не отвечает на сообщение «реплаем»?

с помощью данной функции бот должен отвечать "реплаем" на сообщения пользователя:
def chatsenderreply(id, text):
    vk.method("messages.send", {"chat_id": id, "message": text, "reply_to": event.obj['message']['from_id'], "random_id": 0})
    pass


Но выдает ошибку мол внутренняя ошибка сервера, но на самом деле, если изменить ее вот так:
def chatsenderreply(id, text):
    vk.method("messages.send", {"chat_id": id, "message": text, "reply_to": event.obj.message['id'], "random_id": 0})
    pass


То бот отвечает, но не "реплаем"
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
@slikkness
Импортируешь библиотеку json и указываешь это как дополнительный параметр в messages.send вместо reply_to:
forward = json.dumps({'peer_id': 2000000000 + chatid,
                      'conversation_message_ids': [event.object.message['conversation_message_id']],
                      'is_reply': True})
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
WolfInChains
@WolfInChains
Для начала запринтите айди, который пытаетесь передать во втором примере, скорее всего он равен 0. Боты же вроде не хранят айди сообщений. Видел где-то реализацию через foward, но не уверен что оно работает.

Еще недавно добавили удаление сообщений через conversation_message_id, возможно с ним и reply сработает.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Idaproject Москва
от 70 000 ₽
Автохолдинг Максимум Санкт-Петербург
от 140 000 до 160 000 ₽
БАРС Груп Санкт-Петербург
от 60 000 до 200 000 ₽