Requires
SteamWorks
May be useful to some.
PHP Code:
public void SendToSlack(const char[] cMessage)
{
char[] sFormat = new char[2048];
Format(sFormat, 2048, "{\"channel\": \"#sourcemod\", \"username\": \"%s\", \"text\": \"%s\", \"icon_emoji\": \":speech_balloon:\"}", "CSGO Server", cMessage);
Handle hHTTP_request = SteamWorks_CreateHTTPRequest(k_EHTTPMethodPOST, "https://hooks.slack.com/services/...");
SteamWorks_SetHTTPRequestRawPostBody(hHTTP_request, "application/json", sFormat, strlen(sFormat));
if (hHTTP_request == null || !SteamWorks_SetHTTPCallbacks(hHTTP_request, Slack_Callback) || !SteamWorks_SendHTTPRequest(hHTTP_request))
{
PrintToServer("[SendToSlack] SendToSlack failed to fire");
delete hHTTP_request;
}
}
public Slack_Callback(Handle hRequest, bool bFailure, bool bRequestSuccessful, EHTTPStatusCode eStatusCode)
{
char cActionName[64];
cActionName = "Slack_Callback";
if (!bFailure && bRequestSuccessful)
{
switch (eStatusCode)
{
case 200:
{
//all gud
}
default:
{
PrintToServer("[%s] failed with code [%i]", cActionName, eStatusCode);
SteamWorks_GetHTTPResponseBodyCallback(hRequest, Print_Response);
}
}
}
delete hRequest;
}
public Print_Response(const char[] sData)
{
PrintToServer("[Print_Response] %s", sData);
}
__________________