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

Здравствуйте, в этой новости хотел бы поговорить о том, как можно отправить сообщение из своего приложения другу. Тут были проблемы с кодировкой отправляемых сообщений, то есть если просто отправлять, то сообщения пользователю приходили иероглифами, но это проблема решаема. Дальше также хочу заметить, что в документации ВК по данному методу, также версия API была записана как 2.0, хотя на самому деле необходимо использовать 3.0, такие замечательные методы, а информация по ним какая-то устаревшая. Ну для отправки сообщений в ВК существует отличный метод

Давайте пройдемся по параметрам данного метода

  • api_id — идентификатор приложения
  • sig — подпись безопасности
  • v — версия API (в документации ВК записана как 2.0, но необходимо 3.0)
  • uid — идентификатор пользователя, которому необходимо отправлять сообщение (по умолчанию текущий пользователь)
  • message — текст сообщения
  • title — заголовок сообщения
  • type — 0 — обычное сообщение, 1 — сообщение из чата
  • format — XML или JSON
  • test_mode — если равен 1, то разрешает тестовые запросы к данным приложения.

Первые 5 параметров являются обязательными. Все идет по стандарту, создаем нашу подпись безопасности, тут не забудьте создать ее в алфавитном порядке, иначе будете получать сообщение об ошибки, что подпись не верна. Я добавил на вкладку «Сообщение»

Удаление сообщений из беседки ботом для ВК на Python3

Еще по теме:  Вконтакте новый дизайн как отключить

Ну TEdit для того, чтобы Вы смогли написать сообщение, которое необходимо отправить. Также сообщения отправляются id-пользователю тому, id, который записан в Edit1, который находится на вкладке «Профиль«, то есть Вы можете авторитизироваться получить список сообщений и в TListBox выбрать, тот id, которому Вы хотите отправить сообщение затем написать данное сообщение и нажать на кнопку «Отправить«, после этого сообщение будет доставлено успешно. На TButton события OnClick я написал следующий код

procedure TForm1.Button12Click(Sender: TObject); var sig:string; begin try PostVK:=TStringList.Create; sig:=Pchar(LabelMid.Caption)+’api_id=1918788format=XMLmessage=’+AnsiToUtf8(Edit4.Text)+’method=messages.senduid=’+Edit1.Text+’v=3.0’+Pchar(LabelSecret.Caption); sig:=md5(sig); PostVK.Clear; PostVK.Add(‘api_id=1918788’); PostVK.Add(‘sig=’+sig); PostVK.Add(‘v=3.0’); PostVK.Add(‘method=messages.send’); PostVK.Add(‘uid=’+Edit1.Text); PostVK.Add(‘format=XML’); PostVK.Add(‘message=’+AnsiToUtf8(Edit4.Text)); PostVK.Add(‘sid=’+Pchar(LabelSid.Caption)); logVK:=IdHTTP1.Post(‘http://api.vkontakte.ru/api.php’,PostVK); if pos(‘error_code’,logVK)=0 then ShowMessage(‘Message Send Ok’) else ShowMessage(‘Not message send’); PostVK.Free; except on e:Exception do PostVK.Free; end; end;

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

Пересылка сообщений из Вконтакте в Telegram — VkMessagePro2

Сейчас очень главное иметь на своей машине качественные диски и Шины. Потому что от этого зависит устойчивость Вашей же машины на дороге, а это влияет на Вашу безопасность. Так что, позаботьтесь о том, чтобы на Вашей любимой машине стояли только лучшие и качественные шины.

Полный исходник проекта можно скачать тут

Автор статьи — Andrey53

Похожие записи

  • Проект VK API в Delphi. Отправляем сообщение на стену
  • Проект VK API в Delphi. Удаление сообщений со стены
  • Проект VK API в Delphi. Работа с комментариями к фотографиям
  • Проект VK API в Delphi. Получение фотографий
  • Проект VK API в Delphi. Поиск видеозаписей в ВК
Еще по теме:  Описание для группы ВК Майнкрафт

К записи “Проект VK API в Delphi. Отправка сообщений” оставлено комментариев: 5.

Не помогает мне AnsiToUtf8. :((
Ни в моей программе, ни в этом примере.
Постоянно возвращается ошибка о неправильной сигнатуре.
Дельфи 2010.

Так Вы попробуйте без AnsiToUtf в Delphi 2010 другая версия Инди, там с кодировкой может будет итак все нормально

Хех… Пробовал. И просто пробовал отправить, и кодировал строку по всякому — ничего не помогло.
Как только русские буквы или в сообщении, или в заголовке — Error 4:incorrect signature

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

VK_API Как переслать сообщение отправителя в беседе ВК?

$mesid = $data->object->id;
$request_params = array(
‘message’ => $retmes,
‘forward_messages’ => ‘255’,
‘chat_id’ => ‘1’,
‘access_token’ => $VK_TOKEN,
‘v’ => ‘5.81’
);
$get_params = http_build_query($request_params);
file_get_contents(‘https://api.vk.com/method/messages.send?’. $get_params);
echo ‘Ok’;
break;

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Задушил питона

Если ваш бот работает на группе, то плохие новости. Id вам не вернут. Но можно использовать conversation message id для его получения. https://vk.com/dev/messages.getByConversationMessageId

Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос

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

вконтакте

  • ВКонтакте

Как поставить картинку на фон опроса VK API на Python?

  • 1 подписчик
  • 11 мая
  • 84 просмотра

Источник: qna.habr.com

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » vk_api отправка файла личным сообщением сообщества

#1 Фев. 8, 2019 07:09:00

vk_api отправка файла личным сообщением сообщества

Добрый день, Коллеги!
Потребовалось написать бота для ВКонтате для общения и рассылки заданий студентам. Использую библиотеку vk_api. Как организовать общение — я разобрался, а вот как переслать задание в виде Word’овского файла — у меня не получается, пишет: vk_api.exceptions.ApiError: User authorization failed: method is unavailable with group auth.

Еще по теме:  Как удалить автозаполнение в ВК при входе на айфоне

Неужели нельзя отправлять документы от лица сообщества? (Фотографии получается отправлять — проверял! Права на документы выставлены в настройках token’а). Документацию VK API читал — такого запрета не видел. Или это какая-то ошибка моя или библиотеки?

#2 Фев. 19, 2019 09:38:55

vk_api отправка файла личным сообщением сообщества

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

Источник: python.su

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