Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Bienvenue Guest!

Rejoignez la communauté pour avoir accès à l'entièreté du site! Une fois que vous serez enregistré, vous pourrez créer, aider, partager et discuter avec les membres de la communauté et également participer à l'amélioration du site. Alors, qu'attendez vous ? Enregistrez-vous !

Sign in to follow this  
Anthony

intermédiaire Logs Discord

Recommended Posts

Anthony

Il peut être intéressant d'ajouter une fonctionnalité permettant d'enregistré toutes sortes d'informations depuis votre serveur de jeu sur discord.

Dans ce tutoriel, je vais vous expliquer comment fonctionne les webhook discord.

 

Rédaction de la fonction 

Cette fonction sera utilisé évidemment côté serveur.

 

local WebhookKey = ""

function sendWebhookToDiscord()

end

Voilà, la fonction est déclarée, mais avant tous, nous allons avoir besoin de l'URL du webhook.

 

Pour ce faire, rendez-vous sur Discord puis suivez les étapes:

 

1 - Accéder aux Paramètres du serveur 

 

2019-04-10_02h42_48.png.8656b95ea6bb822ebcb8ee065d565186.png

 

2 - Accéder à l'onglet Webhook

 

2019-04-10_02h44_04.thumb.png.ca3ab1ed686be6e2d79250c69b85389d.png

 

3 - Procéder a la création du webhook

 

  • Le nom du webhook
  • Le salon dans lequel il vous communiquera les informations
  • Éventuellement une image

 

⚠️ Il est possible de créer plusieurs webhooks pour différentes communications d'informations ! 

 

2019-04-10_02h48_58.thumb.png.c163fa1cfc05c55e40558185770d634a.png

 

Avant d’enregistrer le webhook penser a copier l'URL et a le coller dans le fichier serveur de votre script !

 

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord()

end

 

Il est maintenant temps d'entrer dans le vif du sujet.

 

Nous allons utiliser une native permettant d'envoyer une information en externe depuis votre script. Pour plus d'informations, rendez-vous ici .

 

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord()
    PerformHttpRequest(WebhookKey, function(errorCode, resultData, resultHeaders) end, 'POST', json.encode({}), { ['Content-Type'] = 'application/json' })
end

Cette native nécessite deux arguments obligatoires.

 

  • Un URL pour effectuer la requête HTTP.

         Dans notre cas, ce sera la variable WebhookKey.

  • Un callback (fonction de rappel à appeler une fois la demande terminée.

        Il n'est pas nécessaire de mettre quelque chose dans le callback, mais je vais vous montrer les informations que les trois arguments          du callback peuvent me retourner.

 

Hors nous allons ajouter trois arguments supplémentaires.

 

  • La méthode REST que nous allons utiliser.

         Il existe plusieurs méthodes comme GET, POST, BUT, PATCH, DELETE.. mais celle qui va nous intéressé sera POST 

  • Les données que nous allons envoyer a notre webhook.

         Tous simplement les informations que nous souhaitons transmettre sur discord

  • L'en-têtes qui indique le type MIME de la ressource.

        Plus technique et sans réel importance dans votre cas, le plus important et de ne pas l'oublier !

 

Nous allons maintenant encoder les informations que nous souhaitons envoyer en JSON pour faire la requête.

 

Exemple tous bête, voilà comment je veux appeler ma fonction avec les informations que je veux faire passer.

 

sendWebhookToDiscord("Mon serveur", "Le serveur vient de ce lancer !", 16711680)

 

Nous allons devoir réceptionner les différents données, voici comment procéder:

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord(name, message, color)

    PerformHttpRequest(WebhookKey, function(errorCode, resultData, resultHeaders) end, 'POST', json.encode({}), { ['Content-Type'] = 'application/json' })
end

Dans notre fonction:

  • name = "Mon serveur"
  • message = "Le serveur vient de ce lancer !"
  • color = 16711680

 

⭐Pour la couleur, rendez-vous sur le site https://convertingcolors.com, choisissez votre couleur, puis récupérer la valeur décimal ! 

 

Les données sont passé dans la fonction, maintenant nous allons devoir les mettre en formes afin de les envoyer, nous allons créer une variable qui regroupera les données.

 

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord(name, message, color)

    local myEmbed = {
        {
            title = message,
            color = color,
            type = "rich",
            footer =  {
                text = "mon Webhook discord",
           }
        }
    }

    PerformHttpRequest(WebhookKey, function(errorCode, resultData, resultHeaders) end, 'POST', json.encode({}), { ['Content-Type'] = 'application/json' })
end

Vous allez me dire comment je sais la mise en forme qui faut, tous simplement de la documentation, ce site vous permettra de voir la mise en forme de votre variable , ⚠️ La mise en forme sur le site est en JSON, vous devez la faire en LUA, prenez exemple sur la variable myEmbed ! Lien vers le site

 

Il est maintenant temps mettre tous ça dans l'encodage en JSON: 

 

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord(name, message, color)

    local myEmbed = {
        {
            title = message,
            color = color,
            type = "rich",
            footer =  {
                text = "mon Webhook discord",
           }
        }
    }

    PerformHttpRequest(WebhookKey, function(errorCode, resultData, resultHeaders) end, 'POST', json.encode({ username = name,embeds = myEmbed}), { ['Content-Type'] = 'application/json' })
end

Si vous avez bien observer, j'ai mis username / embeds dans le json.encode(), pour en savoir plus, rendez vous sur La documentation de Discord pour les webhooks

 

Nous allons maintenant tester tous ça, voici un aperçu global du code:

 

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord(name, message, color)

    local myEmbed = {
        {
            title = message,
            color = color,
            type = "rich",
            footer =  {
                text = "mon Webhook discord",
           }
        }
    }

    PerformHttpRequest(WebhookKey, function(errorCode, resultData, resultHeaders) end, 'POST', json.encode({ username = name,embeds = myEmbed}), { ['Content-Type'] = 'application/json' })
end


sendWebhookToDiscord("Mon serveur", "Le serveur vient de ce lancer !", 16711680)

Voici le resultat sur discord lors du démarrage du serveur:

 

2019-05-05_22h19_34.png.3c73135e6422cee9bb5ea3666f90bd6e.png

 

Vous pouvez également ajouter les trois print, simple cas de prévention ! 

 

local WebhookKey = "https://discordapp.com/api/webhooks/565336419350872064/SzBXtGmhUhu4py0w5qB3IWluFXWuBN8BcCdlkUvJrUghbsG5RHODv3RoL0fhLQUTnJjr"

function sendWebhookToDiscord(name, message, color)

    local myEmbed = {
        {
            title = message,
            color = color,
            type = "rich",
            footer =  {
                text = "mon Webhook discord",
           }
        }
    }

    PerformHttpRequest(WebhookKey, function(errorCode, resultData, resultHeaders)
        print("Returned error code:" .. tostring(errorCode))
        print("Returned data:" .. tostring(resultData))
        print("Returned result Headers:" .. tostring(json.encode(resultHeaders)))
    end, 'POST', json.encode({ username = name,embeds = myEmbed}), { ['Content-Type'] = 'application/json' })
end


sendWebhookToDiscord("Mon serveur", "Le serveur vient de ce lancer !", 16711680)

 

 

 

Pour pouvoir faire une requête depuis un autre script, nous allons utiliser un Event.

 

Ajouter l'event dans votre script côté serveur a la suite du code que nous avons rédigé.

 

RegisterServerEvent("notifyDiscord")
AddEventHandler("notifyDiscord", function(info1, info2, info3)
	sendToDiscord(info1, info2, info3)
end)

 

Pour sollicité cet Event, rien de plus simple, dans un script différent, faite une requête

TriggerServerEvent("notifyDiscord", "Mon serveur", "Ma description", 16711680)

 

En espérant vous avoir éclairci sur les webhook. Libre de votre imagination a présent ! Courage a vous ! 

Share this post


Link to post
Share on other sites
JagerBom

super tuto! merci

Share this post


Link to post
Share on other sites
James Trema

Bonsoir, super tuto merci beaucoup ! +1 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

En utilisant ce site, vous acceptez les présents règlements Terms of Use, Privacy Policy,Guidelines.