La fonction Webhooks intégrée à Discord est une façon simple de recevoir des messages automatisés et des mises à jour directement dans un salon textuel de votre serveur. Voyez cela comme un de ces tubes pneumatiques qui sont parfois utilisés pour envoyer de l'argent à l'intérieur d'une banque et que vous pouvez regarder disparaître, mais au lieu de ne jamais revoir votre argent, vous verrez effectivement des messages partagés dans Discord à partir d'une autre plateforme. -- référence: principes des Webhooks.
Exemple de rendu, avec le flux RSS |
Il y a 2 possibilités pour récupérer les bons plans de Dealabs, soit par ses flux RSS, soit par son compte Twitter. Il est possible de cumuler les deux, le flux Twitter servant alors de mise en avant de certains deals. Nous allons voir comment récupérer ces 2 flux sur votre serveur Discord.
- Créez un salon textuel, ou cliquez sur Modifier le salon d'un salon textuel existant.
- Accédez à la section Webhooks, puis cliquez sur le bouton Créer un webhook.
- Renseignez un
nom
et uneicône
, cela a peu d'importance car ils seront personnalisés plus tard (dans la réponse de l'applet IFTTT). Copiez l'URL du Webhook. Ne partagez pas cette URL! C'est très dangereux, car elle permet de poster dans le salon! - Cliquez sur
Enregistrer
puis ressortez des paramètres du salon.
Rendez vous sur le site IFTTT et créez votre compte (si vous n'en avez pas encore).
- Dans le menu My Applets, cliquez sur le bouton
New Applet
- Cliquez sur
[+]this
- Recherchez le service
RSS Feed
et sélectionnez-le - Sélectionnez le déclencheur
New feed item
, afin que l'applet envoie un message sur Discord à chaque fois qu'un nouveau deal apparait dans le flux RSS - Renseignez le champs
Feed URL
avec l'adresse du flux RSS souhaité. (cf. liste des adresses des flux disponibles, ci-dessous)
[Tous les deals] : https://www.dealabs.com/rss
[Uniquement les deals Hot] : https://www.dealabs.com/rss/hot
[Uniquement les bons plans] : https://www.dealabs.com/rss/bons-plans
[Uniquement les codes promo] : https://www.dealabs.com/rss/codes-promo
# Flux RSS par catégorie:
[Catégorie informatique] : https://www.dealabs.com/rss/groupe/informatique
[Catégorie téléphonie] : https://www.dealabs.com/rss/groupe/telephonie
[Catégorie jeux-vidéo] : https://www.dealabs.com/rss/groupe/consoles-jeux-video
[Catégorie gadgets] : https://www.dealabs.com/rss/groupe/accessoires-gadgets
[Catégorie logiciels] : https://www.dealabs.com/rss/groupe/applis-logiciels
[Catégorie image/son] : https://www.dealabs.com/rss/groupe/image-son-video
[Catégorie jouets] : https://www.dealabs.com/rss/groupe/jeux-jouets
[Catégorie culture] : https://www.dealabs.com/rss/groupe/culture-divertissement
[Catégorie sports] : https://www.dealabs.com/rss/groupe/sports-plein-air
[Catégorie animaux] : https://www.dealabs.com/rss/groupe/animaux
[Catégorie mode] : https://www.dealabs.com/rss/groupe/mode-accessoires
[Catégorie santé] : https://www.dealabs.com/rss/groupe/hygiene-sante-cosmetiques
[Catégorie maison] : https://www.dealabs.com/rss/groupe/maison-jardin
[Catégorie voyages] : https://www.dealabs.com/rss/groupe/voyages-sorties-restaurants
[Catégorie alimentation] : https://www.dealabs.com/rss/groupe/alimentation-boissons
[Catégorie services] : https://www.dealabs.com/rss/groupe/services-divers
- Cliquez sur le bouton
Create trigger
pour confirmer.
- Cliquez sur
[+]that
- Recherchez le service
Webhooks
et sélectionnez-le - Sélectionnez l'action
Make a web request
- Collez votre URL du Webhook dans le champs
URL
- Choisissez la méthode
POST
(Method) - Choisissez le type de contenu
application/json
(Content Type) - Et voilà la partie la plus difficile, créer le corps du JSON. Je vous épargne les recherches, voici un exemple de
Body
adapté au flux RSS de Dealabs. Mais retenez que c'est personnalisable à volonté (cf. section Astuces plus bas). Collez simplement le code ci-dessous dans le champsBody
:
{
"username": "Dealabs",
"avatar_url": "https://i.imgur.com/QTG38xr.png",
"embeds": [
{
"title": ":hot_pepper: <<<{{EntryTitle}}>>>",
"description": "<<<{{EntryContent}}>>> [*continuer vers le deal*]({{EntryUrl}})",
"color": 16734003,
"footer": {
"text": "posted on {{EntryPublished}}",
"icon_url": "https://i.imgur.com/85ZcySw.png"
}
}
]
}
Ou bien, vous pouvez utiliser la fonction de prévisualisation d'un lien
de Discord, en envoyant juste le lien vers le deal, de cette manière:
{
"username": "Dealabs",
"avatar_url": "https://i.imgur.com/QTG38xr.png",
"content": "**Nouveau deal:** {{EntryUrl}}"
}
Ce qui produira ceci:
Rendu d'un lien Dealabs |
Si vous utilisez le flux RSS d'une catégorie, préférez celui-ci:
{
"username": "Dealabs",
"avatar_url": "https://i.imgur.com/QTG38xr.png",
"embeds": [
{
"author": {
"name": "{{FeedTitle}}",
"url": "{{FeedUrl}}",
"icon_url": "url_image_pour_la_categorie"
},
"title": "<<<{{EntryTitle}}>>>",
"description": "<<<{{EntryContent}}>>> [*continuer vers le deal*]({{EntryUrl}})",
"url": "{{EntryUrl}}",
"color": 16734003,
"footer": {
"text": "posted on {{EntryPublished}}",
"icon_url": "https://i.imgur.com/85ZcySw.png"
}
}
]
}
- Cliquez sur le bouton
Create action
puis surFinish
- C'est terminé!
Rendez vous sur le site IFTTT et connectez-vous à votre compte.
- Dans le menu My Applets, cliquez sur le bouton
New Applet
- Cliquez sur
[+]this
- Recherchez le service
Twitter
et sélectionnez-le - Sélectionnez le déclencheur
New tweet by a specific user
, afin que l'applet envoie un message sur Discord à chaque fois qu'un nouveau tweet apparait sur le compte Twitter de Dealabs - Renseignez le champs
Username to watch
avec le nom du compte Twitter souhaité, ici: "Dealabs" - Cliquez sur le bouton
Create trigger
pour confirmer.
- Cliquez sur
[+]that
- Recherchez le service
Webhooks
et sélectionnez-le - Sélectionnez l'action
Make a web request
- Collez votre URL du Webhook dans le champs
URL
- Choisissez la méthode
POST
(Method) - Choisissez le type de contenu
application/json
(Content Type) - Encore une fois, je vous épargne les recherches (chanceux :)), voici un exemple de
Body
adapté aux tweets de Dealabs. Collez simplement le code ci-dessous dans le champsBody
:
{
"username": "{{UserName}}",
"avatar_url": "https://i.imgur.com/QTG38xr.png",
"content": "<<<{{Text}}>>>\n*tweeted on {{CreatedAt}}*"
}
Ou bien comme précédemment, vous pouvez utiliser la fonction de prévisualisation d'un lien
de Discord, en envoyant juste le lien vers le tweet, de cette manière:
{
"username": "{{UserName}}",
"avatar_url": "https://i.imgur.com/QTG38xr.png",
"content": "**Nouveau deal:** {{LinkToTweet}}"
}
Ce qui produira ceci:
Rendu d'un lien Twitter |
- Cliquez sur le bouton
Create action
puis surFinish
- C'est terminé!
- Vous avez pu remarquer que le corps des messages issus d'un flux RSS, renseigné par l'ingrédient
EntryContent
, contient des balises HTML. Ces balises ne sont pas interprétées par Discord, car il n'accepte que le langage Markdown. Je suis activement à la recherche d'une solution pour contourner ce problème. - Le flux RSS ne semble pas contenir l'image du deal, la seule manière de l'obtenir est de passer par l'envoi simple du lien du deal (comme décrit plus haut).
- Pour les flux RSS, utilisez de préférence les flux d'une catégorie particulière. Vous pouvez créer autant d'applets IFTTT que de catégories souhaitées. Vous pouvez réutiliser l'
URL du Webhook
sur plusieurs applets. Vous pouvez alors, par exemple, personnaliser le message envoyé pour chaque catégorie, en modifiant la valeur de la couleur (de la barre verticale, sur la gauche du message). - Découvrez les principes des webhooks sur Discord, en consultant ce guide.
- Apprenez à mettre en forme vos messages Discord, en utilisant le langage Markdown.
- Apprenez à personnaliser la réponse de l'applet IFTTT (le
body JSON
) en utilisant ce guide. (en anglais uniquement) - Visualisez votre réponse personnalisée, en utilisant cet outil de rendu visuel du body JSON. N'oubliez par de cliquer sur le bouton
Enable webhook mod
. Pour personnaliser la couleur, utilisez le boutonOpen color picker
. - Simulez l'envoi de message vers Discord grace à l'application Postman, et en utilisant ce guide. (en anglais uniquement). Plus besoin d'attendre que l'applet IFTTT soit déclenché 😉
Les Webhooks Discord n'ont désormais plus aucun secret pour vous !
Salut Snipees,
Es-tu au courant du problème suivant: lorsque l'on souhaite connecter un webhooks, voilà ce que IFTTT nous dit (PJ). J'ai essayé sur 2 navigateurs différents.