Как отправить пользователю сообщение от группы?message.send(С#)
Как мне реализовать отправку сообщения пользователю VK, который написал сообществу, я получаю сообщение от пользователя, беру его ID, но я не знаю как отправить сообщение ему в ответ, посмотрел в доках VkAPI, написано что нужно юзать message.send, если это так,то объясните пожалуйста, как именно нужно им пользоваться???
Ответы (2 шт):
В документации есть примеры на php
define('VK_API_VERSION', '5.67'); //Используемая версия API
define('VK_API_ENDPOINT', "https://api.vk.com/method/");
//Функция для вызова произвольного метода API
function _vkApi_call($method, $params = array()) {
$params['access_token'] = VK_API_ACCESS_TOKEN;
$params['v'] = VK_API_VERSION;
$url = VK_API_ENDPOINT.$method.'?'.http_build_query($params);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$json = curl_exec($curl);
curl_close($curl);
$response = json_decode($json, true);
return $response['response'];
}
//Функция для вызова messages.send
function vkApi_messagesSend($peer_id, $message, $attachments = array()) {
return _vkApi_call('messages.send', array(
'peer_id' => $peer_id,
'message' => $message,
'attachment' => implode(',', $attachments)
));
}
vkApi_messagesSend(494075, 'Hello world!');
На последней строке как раз и реализована оправка сообщения в ответ. Главное, не забудьте присвоить ваш серверный секретный ключ и версию api`шки.
Из документации к Vk.net:
Message - Текст личного cообщения (является обязательным, если не задан параметр attachment) строка
UserId - Идентификатор пользователя, которому отправляется сообщение. целое число
RandomId - Уникальный (в привязке к API_ID и ID отправителя) идентификатор, предназначенный для предотвращения повторной отправки одинакового сообщения. Сохраняется вместе с сообщением и доступен в истории сообщений. Заданный RandomId используется для проверки уникальности за всю историю сообщений, поэтому используйте большой диапазон(до int32). целое число, доступен начиная с версии 5.45
Пример отправки сообщения Павлу Дурову
api.Messages.Send(new VkNet.Model.RequestParams.MessagesSendParams
{
RandomId = 123, // рандомный id,
UserId = 1,
Message = "message"
});