diff --git a/Discord_UNLOZE/scripting/Discord_UNLOZE.sp b/Discord_UNLOZE/scripting/Discord_UNLOZE.sp index 6dc33f0..2624224 100644 --- a/Discord_UNLOZE/scripting/Discord_UNLOZE.sp +++ b/Discord_UNLOZE/scripting/Discord_UNLOZE.sp @@ -29,6 +29,8 @@ ArrayList g_arrQueuedMessages = null; Handle g_hDataTimer = null; Handle g_hReplaceConfigFile = null; +static Handle g_hForwardDiscord; + UserMsg g_umSayText2 = INVALID_MESSAGE_ID; bool g_bLoadedLate; @@ -59,7 +61,7 @@ public Plugin myinfo = public APLRes AskPluginLoad2(Handle hThis, bool bLate, char[] sError, int err_max) { g_bLoadedLate = bLate; - + RegPluginLibrary("Discord_UNLOZE"); return APLRes_Success; } @@ -68,6 +70,9 @@ public void OnPluginStart() char sRegexErr[32]; RegexError RegexErr; + g_hForwardDiscord = CreateGlobalForward("GetDiscordToStoat", ET_Ignore, Param_String, Param_String, Param_Cell); + + g_Regex_Clyde = CompileRegex(".*(clyde).*", PCRE_CASELESS, sRegexErr, sizeof(sRegexErr), RegexErr); if (RegexErr != REGEX_ERROR_NONE) @@ -114,6 +119,7 @@ public void OnPluginEnd() { delete g_arrQueuedMessages; delete g_hDataTimer; + CloseHandle(g_hForwardDiscord); UnhookUserMessage(g_umSayText2, Hook_UserMessage, false); } @@ -567,7 +573,7 @@ public int OnHTTPRequestCompleted(Handle hRequest, bool bFailure, bool bRequestS int iRatelimitReset = StringToInt(sTmp); - if (iRatelimitRemaining < iLastRatelimitRemaining || iRatelimitReset >= iLastRatelimitReset) //don't be fooled by different completion times + if (iRatelimitRemaining < iLastRatelimitRemaining || iRatelimitReset >= iLastRatelimitReset) //dont be fooled by different completion times { g_iRatelimitRemaining = iRatelimitRemaining; g_iRatelimitReset = iRatelimitReset; @@ -614,6 +620,12 @@ public Action OnLogAction(Handle hSource, Identity ident, int client, int target else Discord_POST(DISCORD_ADMINLOGS_WEBHOOKURL, sFinal, true, sClientName, false, "", false); + Call_StartForward(g_hForwardDiscord); + Call_PushString(sClientName); + Call_PushString(sFinal); + Call_PushCell(1); + Call_Finish(); + return Plugin_Handled; } @@ -693,6 +705,12 @@ public void BanDetectorPost1(int client, const char[] detected_sourceban) Discord_POST(DISCORD_BAN_DETECTOR, sMessage, true, sClientName, true, g_sAvatarURL[client], false); else Discord_POST(DISCORD_BAN_DETECTOR, sMessage, true, sClientName, false, "", false); + + Call_StartForward(g_hForwardDiscord); + Call_PushString(sClientName); + Call_PushString(sMessage); + Call_PushCell(4); + Call_Finish(); } public void CallAdmin_OnReportPost(int client, int target, const char[] reason) @@ -821,6 +839,12 @@ public void AntiBhopCheat_OnClientDetected(int client, char[] sReason, char[] sS Discord_POST(DISCORD_ANTIBHOPCHEAT_WEBHOOKURL, sMessage, true, sUsername, true, g_sAvatarURL[client], false); else Discord_POST(DISCORD_ANTIBHOPCHEAT_WEBHOOKURL, sMessage, true, sUsername, false, "", false); + + Call_StartForward(g_hForwardDiscord); + Call_PushString(sUsername); + Call_PushString(sMessage); + Call_PushCell(2); + Call_Finish(); } public void EW_OnClientRestricted(int client, int target, int hours, int minutes) @@ -852,6 +876,12 @@ public void EW_OnClientRestricted(int client, int target, int hours, int minutes Discord_POST(DISCORD_ENTWATCH_WEBHOOKURL, sMessage, true, sUsername, true, g_sAvatarURL[target], false); else Discord_POST(DISCORD_ENTWATCH_WEBHOOKURL, sMessage, true, sUsername, false, "", false); + + Call_StartForward(g_hForwardDiscord); + Call_PushString(sUsername); + Call_PushString(sMessage); + Call_PushCell(3); + Call_Finish(); } @@ -879,4 +909,10 @@ public void EW_OnClientUnrestricted(int client, int target) Discord_POST(DISCORD_ENTWATCH_WEBHOOKURL, sMessage, true, sUsername, true, g_sAvatarURL[target], false); else Discord_POST(DISCORD_ENTWATCH_WEBHOOKURL, sMessage, true, sUsername, false, "", false); + + Call_StartForward(g_hForwardDiscord); + Call_PushString(sUsername); + Call_PushString(sMessage); + Call_PushCell(3); + Call_Finish(); } diff --git a/Discord_UNLOZE/scripting/include/Discord_UNLOZE.inc b/Discord_UNLOZE/scripting/include/Discord_UNLOZE.inc new file mode 100755 index 0000000..7f5d1d5 --- /dev/null +++ b/Discord_UNLOZE/scripting/include/Discord_UNLOZE.inc @@ -0,0 +1,25 @@ +#if defined _Discord_UNLOZE_Included + #endinput +#endif +#define _Discord_UNLOZE_Included + +/** + + * @noreturn + */ +forward void GetDiscordToStoat(const char[] username, const char[] message, int type); + + +/* Do not edit below this line */ +public SharedPlugin __pl_Discord_UNLOZE = +{ + name = "Discord_UNLOZE", + file = "Discord_UNLOZE.smx", +#if defined REQUIRE_PLUGIN + required = 1, +#else + required = 0, +#endif +}; + +