Vk api как отправить сообщение сообществу

Здесь про это не сказано ровным счётом ничего. В ходе «расследования» скачивал различные клиенты. Kate mobile может отправить такое сообщение, но как-то раз я увидел его «голым». Скажем так, как файл с расширением. С этого момента начал рыть документацию в этом месте и мне кажется, что message.send и docs связаны.

Как бы на практике только отправить такое сообщение?

P. ‘s. То, что я смог отрыть :

там все засунули в документы. В полученном URL методом docs.getUploadServer добавляется один параметр, . не скажу сейчас какой (не помню, кажется, type) равный audio_msg

Update: С помощью сниффинга трафика Kate смог отрыть, что загружается аудио-сообщение путем передачи СКРЫТОГО параметра. Пример:

https://api.vk.com/method/docs.getUploadServer?access_token=your_tokenv=5.38

Теперь новая стадия вопроса: Как передать файл голосовой в формате multipart/form-data

Update: Ответ с Tostera (там тоже активчик по такому вопросу):

Организуем массовую рассылку сообщений. Курс «Создание чат-бота ВКонтакте на python». Часть 8

Кстати, если это важно — из пакета я достал формат файла: Kate: .3gp Официальный клиент: .ogg/.mp3

Ответы (2 шт):

Троекратное ура! Ответ найден! Итак, для того, чтобы загрузить аудио-сообщение на сервера VK, надо:

    Получаем ссылку для загрузки на сервер. Обратите внимание на параметр:

type=audio_message

https://api.vk.com/method/docs.getUploadServer?access_token=your_tokenv=5.38
https://pu.vk.com/c806630/upload.php?act=add_docaid=0type=audio_messagerhash=6e0e444008a2186f484af9f02c2ac49ffile», как того требует VK:

Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем file. Это поле должно содержать файл в формате multipart/form-data.

multipart.addFilePart(«file», uploadFile1);
«file»:»123456|65421|0|415317|20ee43693a|jpg|81897|Document.jpg|6798bc4fe908cc476cb1c13ce844a985|105d984a920fe7ee9042681bb6d30fbd|m_20ee43693a||m:130×72,s:100×55,x:604×331,y:807×442,o:748×409″
https://api.vk.com/method/docs.save?file=ЗДЕСЬ_ПОЛУЧЕННЫЙ_ПАРАМЕТР_ФАЙЛv=5.60

И получаем такой JSON в ответ:

«response»: [ < «**id**»: 440531838, «**owner_id**»: 151665536, «title»: «comm», «size»: 467756, «ext»: «ogg», «url»: «https://vk.com/do. 90e2afaa7, «date»: 1483295228, «type»: 5, «preview»: < «audio_msg»: < «duration»: 292, «waveform»: [0, 0, 0, 0, 0, 0, 1, 5, 1, 6, 0, 2, 5, 20, 10, 8, 7, 12, 24, 16, 5, 4, 8, 8, 4, 6, 2, 6, 5, 1, 9, 10, 4, 2, 7, 3, 16, 0, 6, 1, 11, 2, 7, 3, 3, 4, 3, 5, 2, 8, 2, 7, 13, 5, 8, 9, 5, 3, 2, 13, 20, 6, 7, 8, 13, 2, 13, 1, 5, 14, 1, 2, 16, 12, 10, 5, 21, 31, 15, 7, 16, 19, 19, 9, 13, 1, 4, 10, 10, 4, 2, 11, 5, 5, 2, 8, 2, 8, 1, 3, 0, 1, 5, 4, 2, 5, 3, 7, 5, 0, 3, 3, 2, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], «link_ogg»: «https://cs540102. udio/b70049db92.ogg», «link_mp3»: «https://cs540102. udio/b70049db92.mp3» >> >]

  • С помощью метода messages.send отправляем наш загруженный файл в виде doc:
Еще по теме:  Что появилось первое одноклассники или Вконтакте

https://api.vk.com/method/messages.send?user_id=111111access_token=your_tokenограниченный» режим)

  • Потом заходим в настройки сообщества и там берем ключ сообщества
  • Дальше делаем такой запрос на загрузку:
  • https://api.vk.com/method/docs.getWallUploadServer?group_id=v=5.60
    https://api.vk.com/method/messages.send?user_id=access_token= Настройки -> Разделы ставим галочки на пунктах: «Ссылки» и «Аудиозаписи»

  • Благополучно используем все, что я написал для группы
  • Callback API Bot — Уведомления о новых событиях (комментариях, сообщениях) в сообществе ВКонтакте

    Ну и немножко веселья:

    • В комменты/на стену/в обсуждения (оказывается), можно отправить АУДИО-СООБЩЕНИЕ (вчитайтесь еще раз, пожалуйста). Делается весьма просто. Обычным запросом на отправку в комменты/на стену/в обсуждения. В аттаче прикрепляем наше аудио (выглядит действительно как аудио-сообщение, что вызвало вой удивления в пабликах, в которых я это тестировал)
    • Еще одна замечательная вещь — пустые энтити аудио-сообщений.Выглядит примерно так. Новая веселая фишка!
      Для отправки вместо формата doc в описании attachment пишем audio
    • И снова новый баг. Можно отправить пустое аудио (просто убираем флаг на чтение и отправляем «ничего». Было проверено на Python):
      введите сюда описание изображения
    • Пустые комменты. Magic!

    введите сюда описание изображения
    Делается так же. При отправке коммента вместо формата doc в описании attachment пишем audio. Заметил, однако, что в разных комментариях баг выглядит по-разному. Где-то без пустого места внутри, а где-то с пустым.
    P/s Кстати, проверил, прокатывает и в обсуждениях. Оставил в группе vk api напоминание 🙂 введите сюда описание изображения

    Update:
    Вместо формата аттача doc или audio можно вставить почти что угодно. Хоть вики. Возможно, чем то полезно. Правда, photo не вставляется.

    Update: Большие файлы загружать НЕЛЬЗЯ! Получим ошибку: 504 Gateway Time-out

    Update: Техподдержка ответила: введите сюда описание изображения
    Новый ответ: введите сюда описание изображения

    введите сюда описание изображения

    Ну и собственно, завершение спектакля:

    Update: Ну раз тех.поддержка говорит про закрытый AudioAPI, то почему бы его не использовать, пока не прикрыли? Накатал недавно небольшой текст по его использованию. Такой простой доступ был неожиданностью. В конце, кстати, приводятся интересные сайты, до сих пор работающие с вк.

    Еще по теме:  Как найти человека в ВК из списка контактов в телефоне

    Всем привет! API обновилось и изменились некоторые моменты. Во-первых загрузка mp3 в документы теперь запрещена. Это выглядит как ответ такой:

    Во вторых, в адресе для отправки от имени группы пропущены символы:

    https://api.vk.com/method/docs.getWallUploadServer?group_id=v=5.62

    И, наконец, третья проблема. Все сделал, все работает, но как результат — сам файл, а не голосовое сообщение (я его грузил как .ogg или .opus). Прошу вашей помощи!

    Источник: husl.ru

    Как отправить сообщение сообществу через vk_api?

    У меня стоит задача осуществить код, который будет отправлять сообщения в сообщества вконтакте со страницы пользователя.
    У меня получился вот такой код :

    import vk_api from vk_api.longpoll import VkLongPoll, VkEventType def main(): vk_session = vk_api.VkApi(‘+7xxxxxxxxxx’, ‘пароль’) vk_session.auth() vk = vk_session.get_api() vk.messages.send(user_id = ID_человека, message = ‘Привет’) main()

    Но он не работает
    Пожалуйста, подскажите как сделать отправку сообщений сообществу через модуль vk_api, было бы не плохо для наглядности продемонстрировать кусочком кода.
    Ещё есть вот такая ссылка :
    https://api.vk.com/method/messages.send?https://qna.habr.com/q/1001059″ target=»_blank»]qna.habr.com[/mask_link]

    Отправка голосовых сообщений ВКонтакте с помощью VK API

    Отправка голосовых сообщений ВКонтакте с помощью VK API

    2017-04-24 в 15:57, admin , рубрики: java, Вконтакте API

    Всем, кто работал с VK API, давно известно, что доступ к любой работе с аудиозаписями ВКонтакте был закрыт 16 декабря 2016 года, а информация о голосовых сообщениях вообще отсутствует в документации.

    image

    На примере моего пустого сообщества-песочницы

    Так как же это делается?

    Используем скрытые параметры для загрузки документа

    Предварительно необходимо обратить внимание на один очень важный момент: чтобы отправить голосовое сообщение от имени группы или публичной страницы, загружать его придется все равно с токеном пользователя, но прикреплять этот документ потом можно и при отправке сообществами, уже с их токеном.

    Как и для обычного документа, получаем адрес сервера для загрузки:

    Еще по теме:  Как найти вампира Вконтакте

    https://api.vk.com/method/docs.getUploadServer?access_token=ACCESS_TOKENv=5.63

    Основной момент здесь: параметр type=audio_message.

    В ответ мы должны получить следующий JSON:

    Как правильно загрузить файл на сервер ВКонтакте

    Если отправлять файл не в формате multipart/form-data, ничего не выйдет.
    В формате mp3 загрузить аудио тоже не получится, лучше всего использовать ogg, хотя можно и поэкспериментировать.

    Можно использовать код отсюда, чтобы загрузить файл в нужном формате (пример указан на Java, аналоги для себя, я думаю, можно найти в интернете):

    Используем экземпляр класса MultipartUtility, в нём ничего менять не нужно:

    StringBuilder response_sb = new StringBuilder(); try < MultipartUtility multipart = new MultipartUtility(«адрес_сервера_для_загрузки», «UTF-8»); multipart.addFilePart(«путь_до_файла_с_голосовым_сообщением»); Listresponse = multipart.finish(); for (String line : response) < response_sb.append(line); >> catch (IOException e)

    Всё, аудиосообщение загружено. Ответ от сервера в случае удачи будет похожим на это:

    Сохраняем документ на сервере

    Здесь также важно подметить: если вы сохраните документ не у пользователя, то при отправке он будет выглядеть как документ, а не как голосовое сообщение. Либо же вы отправите просто пустое сообщение.

    Делаем следующий запрос:

    https://api.vk.com/method/docs.save?file=полученный_ранее_filev=5.63

    Это была последняя стадия. Получаем ответ:

    Вот и всё. Можно отправлять сообщения обычным способом, в attachments указав ссылку doc(owner_id)_(id), используя owner_id и id, полученные выше.

    P.S. Обычный пользователь не может отправить сообщение, содержащее что-то кроме записи голоса. А через API это делается очень легко. Раньше это работало и в комментариях/обсуждениях и так далее, но сейчас, видимо, лавочку прикрыли, как и загрузку голосовых сообщений сообществами.

    Я не являюсь автором «расследования» по поиску способа отправки аудиосообщений через API, я лишь собрал всю информацию в кучу и постарался красиво оформить. Заметил на просторах интернета много вопросов по этому поводу.

    Данная статья написана для тех, кто работал с ВКонтакте API, и описывать неинтересные вещи я не стал, стараясь писать лишь по делу. Если решусь, напишу еще пару статеек о том, как написать бота на Java с использованием LongPoll-сервера VK (для личных страниц) и с использованием Callback API и web-сервлетов (для сообществ).

    За предоставленные материалы и помощь благодарность Станиславу Куделко.

    Источник: www.pvsm.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...