diff --git a/includes/hooks/WHMCS-Discord-Notifications.php b/includes/hooks/WHMCS-Discord-Notifications.php index d6a03ad..99a8fa5 100644 --- a/includes/hooks/WHMCS-Discord-Notifications.php +++ b/includes/hooks/WHMCS-Discord-Notifications.php @@ -1,318 +1,294 @@ $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'invoices.php?action=edit&id=' . $vars['invoiceid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'Invoice Payment Received' - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('InvoiceRefunded', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'invoices.php?action=edit&id=' . $vars['invoiceid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'Invoice Refunded' - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('AcceptOrder', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'orders.php?action=view&id=' . $vars['orderid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'New Accepted Order' - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('CancellationRequest', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'cancelrequests.php', - 'timestamp' => date(DateTime::ISO8601), - 'description' => $vars['reason'], - 'color' => '5653183', - 'author' => array( - 'name' => 'New Cancellation Request' - ), - 'fields' => array( - array( - 'name' => 'Product ID', - 'value' => $vars['relid'], - 'inline' => true - ), - array( - 'name' => 'Cancellation Type', - 'value' => $vars['type'], - 'inline' => true - ), - array( - 'name' => 'User ID', - 'value' => $vars['userid'], - 'inline' => true - ) - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('FraudOrder', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'orders.php?action=view&id=' . $vars['orderid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'Order Marked As Fraud' - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('NetworkIssueAdd', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'networkissues.php?action=manage&id=' . $vars['announcementid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => $vars['reason'], - 'color' => '5653183', - 'author' => array( - 'name' => 'New Network Issue' - ), - 'fields' => array( - array( - 'name' => 'Start Date', - 'value' => $vars['startdate'], - 'inline' => true - ), - array( - 'name' => 'End Date', - 'value' => $vars['enddate'], - 'inline' => true - ), - array( - 'name' => 'Title', - 'value' => $vars['title'], - 'inline' => true - ), - array( - 'name' => 'Description', - 'value' => $vars['description'], - 'inline' => true - ), - array( - 'name' => 'Affecting', - 'value' => $vars['affecting'], - 'inline' => true - ), - array( - 'name' => 'Priority', - 'value' => $vars['priority'], - 'inline' => true - ) - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('PendingOrder', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'url' => $whmcsAdminURL . 'orders.php?action=view&id=' . $vars['orderid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'New Pending Order' - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('TicketOpen', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'title' => $vars['subject'], - 'url' => $whmcsAdminURL . 'supporttickets.php?action=view&id=' . $vars['ticketid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'New Support Ticket' - ), - 'fields' => array( - array( - 'name' => 'Priority', - 'value' => $vars['priority'], - 'inline' => true - ), - array( - 'name' => 'Department', - 'value' => $vars['deptname'], - 'inline' => true - ), - array( - 'name' => 'Ticket ID', - 'value' => $vars['ticketid'], - 'inline' => true - ) - ) - ) - ) - ); - processNotification($dataPacket); - }); - add_hook('TicketUserReply', 1, function($vars) { - $whmcsAdminURL = ""; // Your WHMCS Admin URL. - $companyName = ""; // Your Company Name. - $discordGroupID = ""; // Discord Group ID Config Option. - $dataPacket = array( - 'content' => $discordGroupID, - 'username' => $companyName, - 'embeds' => array( - array( - 'title' => $vars['subject'], - 'url' => $whmcsAdminURL . 'supporttickets.php?action=view&id=' . $vars['ticketid'], - 'timestamp' => date(DateTime::ISO8601), - 'description' => '', - 'color' => '5653183', - 'author' => array( - 'name' => 'New Ticket Reply' - ), - 'fields' => array( - array( - 'name' => 'Priority', - 'value' => $vars['priority'], - 'inline' => true - ), - array( - 'name' => 'Department', - 'value' => $vars['deptname'], - 'inline' => true - ), - array( - 'name' => 'Ticket ID', - 'value' => $vars['ticketid'], - 'inline' => true - ) - ) - ) - ) - ); - processNotification($dataPacket); - }); - function processNotification($dataPacket, $discordWebHookURL) { - $dataString = json_encode($dataPacket); - $curl = curl_init(); - $discordWebHookURL = ""; // Your Discord WebHook URL - curl_setopt($curl, CURLOPT_URL, $discordWebHookURL); - curl_setopt($curl, CURLOPT_POST, 1); - curl_setopt($curl, CURLOPT_HTTPHEADER, array( - 'Content-Type: application/json' - )); - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); - curl_setopt($curl, CURLOPT_POSTFIELDS, $dataString); - $output = curl_exec($curl); - $output = json_decode($output, true); - if (curl_getinfo($curl, CURLINFO_HTTP_CODE) != 204) { - echo "Failed " . curl_getinfo($curl, CURLINFO_HTTP_CODE) . "

"; - print_r($output); - } - curl_close($curl); - } +add_hook('InvoicePaid', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'invoices.php?action=edit&id=' . $vars['invoiceid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'Invoice Payment Received' + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('InvoiceRefunded', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'invoices.php?action=edit&id=' . $vars['invoiceid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'Invoice Refunded' + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('AcceptOrder', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'orders.php?action=view&id=' . $vars['orderid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'New Accepted Order' + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('CancellationRequest', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'cancelrequests.php', + 'timestamp' => date(DateTime::ISO8601), + 'description' => $vars['reason'], + 'color' => '5653183', + 'author' => array( + 'name' => 'New Cancellation Request' + ), + 'fields' => array( + array( + 'name' => 'Product ID', + 'value' => $vars['relid'], + 'inline' => true + ), + array( + 'name' => 'Cancellation Type', + 'value' => $vars['type'], + 'inline' => true + ), + array( + 'name' => 'User ID', + 'value' => $vars['userid'], + 'inline' => true + ) + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('FraudOrder', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'orders.php?action=view&id=' . $vars['orderid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'Order Marked As Fraud' + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('NetworkIssueAdd', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'networkissues.php?action=manage&id=' . $vars['announcementid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => $vars['reason'], + 'color' => '5653183', + 'author' => array( + 'name' => 'New Network Issue' + ), + 'fields' => array( + array( + 'name' => 'Start Date', + 'value' => $vars['startdate'], + 'inline' => true + ), + array( + 'name' => 'End Date', + 'value' => $vars['enddate'], + 'inline' => true + ), + array( + 'name' => 'Title', + 'value' => $vars['title'], + 'inline' => true + ), + array( + 'name' => 'Description', + 'value' => $vars['description'], + 'inline' => true + ), + array( + 'name' => 'Affecting', + 'value' => $vars['affecting'], + 'inline' => true + ), + array( + 'name' => 'Priority', + 'value' => $vars['priority'], + 'inline' => true + ) + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('PendingOrder', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'url' => $GLOBALS['whmcsAdminURL'] . 'orders.php?action=view&id=' . $vars['orderid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'New Pending Order' + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('TicketOpen', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'title' => $vars['subject'], + 'url' => $GLOBALS['whmcsAdminURL'] . 'supporttickets.php?action=view&id=' . $vars['ticketid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'New Support Ticket' + ), + 'fields' => array( + array( + 'name' => 'Priority', + 'value' => $vars['priority'], + 'inline' => true + ), + array( + 'name' => 'Department', + 'value' => $vars['deptname'], + 'inline' => true + ), + array( + 'name' => 'Ticket ID', + 'value' => $vars['ticketid'], + 'inline' => true + ) + ) + ) + ) + ); + processNotification($dataPacket); +}); +add_hook('TicketUserReply', 1, function($vars) { + $discordGroupID = ""; // Discord Group ID Config Option. + $dataPacket = array( + 'content' => $discordGroupID, + 'username' => $GLOBALS['companyName'], + 'embeds' => array( + array( + 'title' => $vars['subject'], + 'url' => $GLOBALS['whmcsAdminURL'] . 'supporttickets.php?action=view&id=' . $vars['ticketid'], + 'timestamp' => date(DateTime::ISO8601), + 'description' => '', + 'color' => '5653183', + 'author' => array( + 'name' => 'New Ticket Reply' + ), + 'fields' => array( + array( + 'name' => 'Priority', + 'value' => $vars['priority'], + 'inline' => true + ), + array( + 'name' => 'Department', + 'value' => $vars['deptname'], + 'inline' => true + ), + array( + 'name' => 'Ticket ID', + 'value' => $vars['ticketid'], + 'inline' => true + ) + ) + ) + ) + ); + processNotification($dataPacket); +}); +function processNotification($dataPacket, $discordWebHookURL) { + $dataString = json_encode($dataPacket); + $curl = curl_init(); + curl_setopt($curl, CURLOPT_URL, $GLOBALS['discordWebHookURL']); + curl_setopt($curl, CURLOPT_POST, 1); + curl_setopt($curl, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json' + )); + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); + curl_setopt($curl, CURLOPT_POSTFIELDS, $dataString); + $output = curl_exec($curl); + $output = json_decode($output, true); + if (curl_getinfo($curl, CURLINFO_HTTP_CODE) != 204) { + echo "Failed " . curl_getinfo($curl, CURLINFO_HTTP_CODE) . "

"; + print_r($output); + } + curl_close($curl); +} ?>