Administration NullRoute Posted December 15, 2021 Administration Share Posted December 15, 2021 Boa tarde meros mortais rs... Gostaria de compartilhar um hook para WHMCS onde é possível que as notificações sejam enviadas ao Telegram. Esse Hook foi desenvolvido (em 5 minutos) pelo grandioso @MMHospedagem e seu uso é extremamente simples. 1.- Crie um botcom o BotFather ( https://telegram.me/BotFather) e copie o Token 2.- Envie uma mensagem para o seu novo bot ou para o local onde deseja receber as notificações 3.- Acesse https://api.telegram.org/bot[TOKEN]/getUpdates (colocando o seu Token no lugar do [TOKEN]) 4.- Pegue o ID do Chat (ou se preferir pode usar @GetIDsBot or @RawDataBot para obter o ID) 5.- Crie um arquivo de nome Telegram.php dentro da pasta includes/hooks 6.- Copie o código abaixo e cole no arquivo Telegram.php 7.- Altere os campos: https://seudominio.com.br/xxxxx/ (Pelo domínio de administração do seu WHMCS) seu-token (pelo token criado no item 1) id-do-telegram (pelo id capturado no item 4) <?php ////////////////////////////////////////////////////////////////////////////////////////// // Gerencia sessoes ////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// use WHMCS\Session; ////////////////////////////////////////////////////////////////////////////////////////// // API Carbon //////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// use Carbon\Carbon; ////////////////////////////////////////////////////////////////////////////////////////// // API Laravel DataBase ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// use WHMCS\Database\Capsule; // Funcao responsavel por enviar mensagens pelo telegram function sendNotification_Telegram($Token,$BotID,$Mensagem) { $botToken = $Token; $botChatID = $BotID; $messageContent = $Mensagem; $message = urlencode($messageContent); file_get_contents("https://api.telegram.org/bot".$botToken."/sendMessage?parse_mode=Markdown&chat_id=".$botChatID."&text=".$message); } // Envia uma mensagem caso alguem abra um ticket add_hook('TicketOpen', 1, function($vars) { // Mensagem que sera enviada $Mensagem = 'Cliente ' . ($vars["userid"] != NULL ? $vars["userid"] : 'SEM ID') . ' abriu um ticket de ID ' . $vars["ticketid"] . ' Titulo: ' . $vars["subject"] . ' Conteudo: ================================ ' . $vars["message"] . ' ================================ > Para visualizar o ticket use o LINK https://seudominio.com.br/xxxxx/supporttickets.php?action=view&id=' . $vars["ticketid"]; // Envia pra voce o robo sendNotification_Telegram("seu-token","id-do-telegram",$Mensagem); }); add_hook('TicketUserReply', 1, function($vars) { // Mensagem que sera enviada $Mensagem = 'Cliente ' . ($vars["userid"] != NULL ? $vars["userid"] : 'SEM ID') . ' respondeu o ticket de ID ' . $vars["ticketid"] . ' Titulo: ' . $vars["subject"] . ' Conteudo: ================================ ' . $vars["message"] . ' ================================ > Para visualizar o ticket use o LINK https://seudominio.com.br/xxxxx/supporttickets.php?action=view&id=' . $vars["ticketid"]; // Envia pra voce o robo sendNotification_Telegram("seu-token","id-do-telegram",$Mensagem); }); Pronto, agora basta utilizar. Vale lembrar que é um hook bem simples mas cumpre o papel ao qual foi desenvolvido (pelo Maik). 1 Quote Eu sou a existência que vocês chamam de "mundo". Ou talvez "universo", ou talvez "Deus", ou talvez "verdade", ou talvez "tudo", ou talvez "um". Link to comment Share on other sites More sharing options...
ictecnologia Posted February 22, 2024 Share Posted February 22, 2024 Bom Dia, gostaria de saber como personalizar as notificações, tipo, puxar mais campos do banco de dados 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.