#include <ripext>
#include <vkcore>
#pragma semicolon 1
#pragma newdecls required
HTTPClient g_hHTTPClient;
char g_sToken[1024] = {""}; //ID группы
int g_iID = ; //ID
GlobalForward OnMessagesSend;
public Plugin myinfo =
{
name = "VK Core",
description = "Простая библиотека для отправки сообщений в личные сообщения, беседы, группы с помощью VK API",
version = "1.0.2",
author = "fr4nch",
url = "https://hlmod.ru/members/fr4nch.85922/"
};
public APLRes AskPluginLoad2(Handle hMyself, bool bLate, char[] sError, int iErr_max)
{
RegPluginLibrary("vkcore");
CreateNative("VK_MessagesSend", Native_MessagesSend);
OnMessagesSend = new GlobalForward("VK_OnMessagesSend", ET_Ignore, Param_String);
return APLRes_Success;
}
public void OnPluginStart()
{
VK_MessagesSend(g_iID, "Тестовое сообщение");
}
public int Native_MessagesSend(Handle hPlugin, int iArgs)
{
int iPID = GetNativeCell(1);
int iLen;
GetNativeStringLength(2, iLen);
iLen += 384;
char[] sMessage = new char[iLen];
GetNativeString(2, sMessage, iLen);
ReplaceString(sMessage, iLen, " ", "%20", true);
ReplaceString(sMessage, iLen, "NWLN", "%0A", true);
ReplaceString(sMessage, iLen, "\n", "%0A", true);
ReplaceString(sMessage, iLen, "#", "%23", true);
Forward_OnClientReportSend(sMessage);
Format(sMessage, iLen, "https://api.vk.com/method/messages.send?v=5.101&random_id=%i&access_token=%s&peer_id=%d&message=%s", GetRandomInt(1, 2147483646), g_sToken, iPID, sMessage);
RIP_SendMessage(sMessage);
}
stock void Forward_OnClientReportSend(char[] sMessage)
{
Call_StartForward(OnMessagesSend);
Call_PushString(sMessage);
Call_Finish();
}
void RIP_SendMessage(const char[] sURL)
{
g_hHTTPClient = new HTTPClient(sURL);
g_hHTTPClient.Get(sURL, OnRequestCompleteRIP);
}
void OnRequestCompleteRIP(HTTPResponse hResponse, any iData)
{
if (hResponse.Status != HTTPStatus_OK) LogMessage("[VK API] Response: %d", hResponse.Status);
}