Как связать собеседников в чат боте сообщества ВК на php?
Здравствуйте, прошу помощи специалистов данной области, возможно вопрос глупый, или не имеет очевидного решения, я уже голову сломал над ним...
Суть такая, пишу бота сообщества ВК для анонимного чата, думаю поняли о чем я, и возникли пару вопросов..а именно..
Когда я смотрел аналогичные чаты, я помню что в некоторых люди были связаны через сообщения сообщества будто бы напрямую, то есть и отчёты о прочтении приходили сразу, а не с новым сообщением от собеседника и статус "печатает" отображался... Как это реализовать на практике возможно?? Например у меня работает по принципу "получил сообщение от одного->засунул его в параметр message и отправил методом messages send другому" все, при этом ни статус "печатает", ни отчёты о прочтении конечно же не приходят.
В связи с этим также я смутно представляю как отправлять через бота вложения собеседникам... Это же надо в параметр attachment вставлять тип вложения, айди юзера, айди вложения, ключ...а если их несколько разных в одном сообщении.. Это же перебрать массив надо...
Поэтому хочу узнать, возможно ли реализовать диалог средствами самого ВК, со всеми статусами набора, прочтения и прочими между собеседниками но анонимно от лица сообщества, и если нет, то как эффективно выбрать из сообщения все вложения от одного человека, и сформировать параметр attachment для метода messages send чтобы отправить другому человеку...
Спасибо, надеюсь на ваши советы!
iBird Rose, видел это, я не совсем понимаю как это использовать, и для чего этот метод в данном контексте решения задачи, также есть метод о прочтении сообщения.. Только как их прилепить то имея ид собеседников и запросы от ВК при каждом сообщении... Был бы рад небольшому ликбезу, если не трудно!
p1xel57, это значит статусы "Печатает" и то что сообщение прочитано - отправляет сам бот, а не реальные статусы. к примеру через https://vk.com/dev/messages.getLastActivity чекает онлайн ли пользователь - и отправляет статус что сообщение прочитано. хотя оно в действительности может быть не прочитано. А уже потом после получения сообщения от пользователя к примеру - отправить статус "Печатает" для виду.
iBird Rose, я догадывался об этом) значит бутафория, понятно, спасибо за ликбез)) может подскажете ещё как эффективно вытащить данные о вложениях в сообщении из запроса о входящем сообщении на сервер...для формирования сообщения с этими же вложениями в параметре attachment метода messages send?) Один раз то у меня получилось отправить, но только фото и только одно, при этом в коде было предусмотрено что в запросе придет вложение фото в количестве 1 шт, два отравлял, пересылает только первое, что не удивительно, а ведь из может быть и больше, и разные типы вложений могут быть...я в голове представить что то не могу, как вытащить данные о вложениях, которые лежат в массиве...(
А про вложения, в чем проблема непонятно... Через запятую они просто перечисляются в аттачментс и все. Забирать их у одного спикера и отдавать другому, в чем сложность?
Нельзя просто забирать от одного и передавать другому.
Во-первых ни у LongPull'a, ни у Callback'а аттачи не приходят списком, обычно они приходят массивом.
Во-вторых все аттачи нужно выкачивать и перезаливать, иначе потеряем анонимность собеседников.
Arti Markelov, Вы все правильно говорите про массив, вопрос в том как из массива лучше всего вычленить именно те значения которые нужны, записать их в переменную и разделить аттачи запятыми, для передачи в параметр метода...а насчёт анонимности не совсем так... Потому что сообщения и аттачи приходят от имени сообщества..и даже ссылка с аттачем содержит ид сообщества...с этим проблем нет.. для опытного программиста обработать массив наверное не так сложно, и я чувствую что решение на поверхности, через циклы (например foreach) но с моим опытом это невероятно трудная задача...(
p1xel57, никакой магии. В вк нельзя отправить в сообщениях оригинал аттачмента, только копию от своего имени или от сообщества (например когда делимся чужим фото в сообщениях)