Créer un bot mou sur mesure

Sep 11, 2025
Comment
Create a custom Slack bot [DIX] [DIX] [DIX] [dix]
(Crédit d'image: concepteur web)
[DIX]

Slack Est Nations Unies En Plus Populaire Pour les Entreprises et Les Équipes Qui Doivent Communiquer Instantanément. Bien Que cela Puisse, Certics Catégorie Cas - Être Consuréré Comme une perturbation quotidienne, IL Disposer Également d'un Grand Potentiel d'automatisation, Offrant Ainsi des Dizaines d'Intégrations Pour tout Garder au Même endroit, et il Remplace Lentement des Course.

[DIX]

Il existe de nombros façons d'Intégrer Vos Systèmes Avec du Mou; La plaque-forme FOURNIT MÊME UN BOT DE MÊQUE QUI PERMET DE FOURNIR DES RAPPELLES OU DES MESSAGES sur VOCT ESPACE DE TRAVAIL NUMÉRIQUE. Et pour Encore Plus d'Améliorations de collaboration, Essayez-les stockage en ligne options.

  • 18 des Meilleurs Outils de collaboration pour les concepteurs

Slack propose des diversifications des entités pensées d'estre considéées commémes des "bots":

  • Webhooks, QUI PERPETTENT DE POSTER DES MESSERES D'AUTRES Applications DANS SOLLY, Constituant MAIS UNE FORME DE COMMUNICATION À SEN UNIQUE,
  • applications, Versez Les Avances d'Intégration (Applications AVEC D'AUTRES),
  • utilisateurs de bot, Plus sur Eux Sous Sous Peu.

Dans la catégorie Didacticiel, Nous Sondes Sondeurs Particulière Aux «Utilisateurs de Bot», Commentaire Les Programmer (Consulez Notre guide à la Meilleurs Éditeurs de code Pour vous, la Vie, la Vie) et Les Faire correspondent à Vos Besoines. CELA ME PRÉSUPPOSE QUE VOUS AVEZ Accès à l'ONU Espace Libre Où VOUS POUVEZ AJOUTER DES INtéGRATIONS DE L'APPLICATION DE L'APPLICATION. Si vous n'avez pas de faïtes Pas Déjà Partie d'Un, ILS Sont Libres de Creer.

Dans la catégorie CE QUI COSS, NOUS CONSTRUCES UNE Application NODEJS VERS POSTER ET RÉPONDRE À DES MESSAGES PARTICULIÈRES DANS UN CANAL STRAT. NOUS UTILISONS LE MODULE 'SLAKBOTS', QUI EST UNE ENVELOPPE POUR L'API DE MESSAGERIE EN TEMPES RÉEL.

[DIX]

Égelement Intéressé à faire un site Web? Choisisse un brillant Générateur de site Web et haut Hébergement Web Service pour Y Aller.

01. Configuration du code

CE Tutoriel Supposons que Vous Avez Un Nœud Installé. Sinon, Faits-le Maintenant. Puis Téléchargez les Actifs tu auras besoin. NOUS VOUS AVONS FOURNI UN POINT DE DÉPART ET UN CADRE Pour le Tutoriel.

Tout Au Long, NOUS UTILISONS DES MODULES DE MODULES QUE «SLAKBOTS» ET «NOEUD-SLAST-UPLOAD». ILS Peuvent Être Obtenus en Exécutant La Commande d'installation.

npm install

02. Configuration du relâchement

Create a custom Slack bot: Slack setup

[DIX] [DIX]
Donnez à votre vélo Bot Nom d'Utilisateur et Inviterz-le à Votre Canal (Crédit d'image: concepteur web)

NOUS UTILISONONS L'INtéGRATION "UTILISATEUR DE BOT" Versez Slack. Pour CE FACEE, NOUS Devons OBTENIR UN JETON EN ALLANT À 'HTTPS: // & LT; YousslackWorkspace & GT; .slack.com / applications / A0F7YS25R-BOTS 'ET CLIQUEZ SUR "AJOUTER UNE CONFIGURATION".

Choisisse Un Nom d'Utilisateur Pour Votre Bot (NOUS POUVONS LE REMPLACER PAR PROGRAMME À UNE ÉTAPE ULTIÉRIEURE) ET CONFIRMER.

Inviterz Le Bot Au Canal Souharais.

En Créant ONU UTILISATEUR DE BOT, VOUS OBTENDREZ UN JETON DANS LE FORMAT SUIVANT:

xoxb-00000000000000000000-x0x0xxxxxxx0xxxxx0x

Copiez le Jeton pour la Prochaine Étape.

03. Variables d'environnement

NOUS UTILISONS DES VARIABLES D'ENVIRIABLES (ONU FICHIER ".ENV ') Pour Éviter Le codificateur Rigide et la Révélation de Jetons Secrets et de Clé Secrets, Comme Le Jeton Relâbé Que Nous Avons Générées et Le Nom de la Chaîne de Vélecteur Espace de Travail de Jeu Privé.

Alleez-y et remplysez le Fichier '.env' Avecle Vélon Jeton et Le Nom du Canal Auigel Vous Avez Invité L'Utilisateur de Bot.

 Slack_Token = xoxb- & lt; YourToken & GT;
Slack_Channel = & lt; NOM DE LA CHAINNE ET GT; 

04. ParamÈRES DE BOT

Cette Étape SUIVANTE NOUS EMMÈNE à 2 FICHIERS: 'INDEX.JS', QUE NOUS AURONS UN BREF REULEME, ET "BIN / LIB / BOT.JS", Où La Plupart de Notre Développement a lieu. DANS LE FICHIER D'INDEX, NOUS INSTANCATIONS NOTRE BOT EN LEUR DONNANT UN NOM, QUI EST 'WDMBOT'.

Dans 'Bot.Js', NOUS Contrôlons Les ParamÈres de Chaque Instance Avec Nom, Jeton, etc.

 // index.js
const bot = nécessite ('./ bin / lib / bot'). init
('Wdmbot');

//bot.js
const botparams = {
icon_emoji: ': robot_face:',
AS_USER: fausse
};
lauder bot;
Fonction Initibot (Botname) {
Bot = Nouveau Slackbot ({
Jeton: Processus.Env.slack_Token,
NOM: BOTNAME
});
} 

05. Poster à la Chaîne

Create a custom Slack bot: Post to channel

[DIX] [DIX]
Maintenant, VOUS POUVEZ OBTENIR VOTRE BOT POUR ENVOYER DES MESSAGES (Crédit d'image: concepteur web)

Regardez la Fonction «SendMessage». NOUS UTILISONS LA MÉTHODE "POSTO". CELA Gérera de Poster Sur N'importe Quel Type de Canal, public ou privé. SI VOUS VOUlez Seulement Poster sur des Chaînes Privées, VOUS POUVEZ UTILISER «Postogroupe» à la place (ou «posttochannel» pour Nations Unies). Pour Envoyer Notre message Premier Message, NOUS Pouvons Ajouter du Code Dans 'Initibot'.

 Fonction Initibot (Botname) {
Bot = / * voir Ci-Dessus * /
sendMessage ('je suis ICI!');
}
// Est maintenu exécuté 'npm start' 

06. Custom Botparams

VOUS AURIEZ DÛ REMARQUER QU'UN MESSAGE DE WDMBOT Apparente DANS VOFT CANAL. IL Convient de Noter Que Dans 'Botparams', "As_user" Est Défini sur False, CE QUI NOUS PERMET DE REMPLACER LE NOM ET L'IMAGE. Si Défini sur TRUE, IL UTILISERA LE NOM ET L'image QUE VOUS AVEZ Définis Lorsque VOUS Obtenez Le Jeton.

VOUS POUVEZ CHANGER LE BOT EMOJI EN UNE IMAGE COMMENT SI:

 const botparams = {
icon_url: 'https://pbs.twimg.com/
profil_images / 976112552081010688 /
Wllqvj8d_400x400.jpg ',
AS_USER: fausse
}; 

07. Événements de Canal

Create a custom Slack bot: Channel events

[DIX] [DIX]
Définisez Votre Bot Pour Écouter des Messages (Crédit d'image: concepteur web)

Les Messages d'affichage Sont utiles, Maison Verser le Bot Plus Interactif, Nous Devons Pouvoir Identifiant Les Postes d'Autres Utilisateurs du Canal. Écoutons L'Événement de message, Puis Voyez CE Qui Se Passe Lorsque Nous Tapissons dans le canal. NOUS DevRions Voiir Différents Types de messages Enregistrés, comme «user_typing» ou «Message».

 Fonction Initibot (Botname) {
Bot = / * voir Ci-Dessus * /
bot.on ("message", Données = & GT; {
console.log (Données);
});
} 

08. Répondre Aux Messages Entrants

Ensuite, NOUS Voulons Répondre Aux Messages Entrants du Type 'Message', et Peut-Être à une phrase OU à UN MOT CLÉ SPÉCIFIQUE, POUR ÉVITER DE RÉPONDRE Absolument Absolument. Nous Veillons à comparer des Chaînes Minuscules SI NOUS VOULONS correspondre à une phrase exacte. NOUS POURRONS ÉGAUMENT VOIR SI Message de l'ONU 'INCLUT ()' UN MOT PARTICULIER.

 Bot.on ('Message', Data = & GT; {
Si (data.type === 'message') {
Si (data.text.tolowercase () === '
es-tu? ') {
sendMessage ('je suis ICI!');
}
}
}); 

09. ResteDrere Les Utilisateurs "Humains"

Les Messages Envoyés par Les utiliseurs de Bot Onlc Diverses Propriétés Dites à Qu'un Sous-type de 'Bot_Message' et Bot_id. VOUVER VOUDREZ PUT-ÊTRE LIMITER LA RÉPONS À DES MESSURES POSÉS PAR L'HOMME POUR ÉVITER LES BOUCLES INFITIES DE ROBOTS VUS RÉPONDANT À EUX-MÊMES OU À L'AURE, SI LEUR Réponse Incut L'OCES-CLÉS QUE VOUS ÉCOUTEZ.

 Bot.on ('Message', Data = & GT; {
Si (data.type === 'message' & amp; & amp; Données.
Sous-type! == 'Bot_Message') {
Si (data.text.tolowercase ().
comprenez ("Bonjour")) {
sendmessage ('Bonjour, je suis Bot!');
}
}
}); 

10. Réponse personnalisée

Versez DONNER UNE RÉPONSE PERSONNALISÉE, VOUS POUVEZ EXPLOIRE L'ID UTILISATEUR DU MESSAGE QUE VOUS RÉPONDEZ. Slack Convertiira Automatitude Un ID au nom d'Utilisateur Lorsque est-ce que les Balises '& LT; @ & Gt; '. Identifiant QUI VOUS RÉPONDEZ PUT ÊTRE UTILE, SURTOUT SI PLUSIEURS Membres de Canaux InterAgissent AVEC VOCT BOT Simultanément.

 Bot.on ('Message', Data = & GT; {
Si (data.type === 'message' & amp; & amp; Données.
Sous-type! == 'Bot_Message') {
Si (data.text.tolowercase ().
comprenez ("Bonjour")) {
sendMessage ('hello & lt; @ $ {data.user}
& gt; Je suis un robot de l'ONU! ');
}
}
}); 
[DIX]

11. METTRE À JOUR LES RÉPONES

LES ROBOTES PEUVENT ÉGAUMENT modificateur LEURS Réponses. SEULIEMENT LEUR ProPre, Cépendant. DONC, SI VOUS ESPÉREZ QU'UN BOT DE TAPE DE FRAPE DE FRAPPE QUIRIGERAIT VOS Messages Automatitude LORSQUES TIRE UNE ERREUR, CE N'EST PAS POSSIBLE AVEC LA CONFIGURATION Actuelle.

Versez METTRE À JOUR LE MESSAGE, NOUS DÉFINISSONS UNE NOUVELLE FONCTION ET UN BOOLÉEN GLOBAL QUE NOUS UTILISERONS DANS NOTRE DÉMO.

 LaSezeez changeur = faux;
Fonction UpdateMessage (MessageParams) {
bot.updatemessage (messageparams.channel,
Fauxparams.ts, MessageParams.Text,
Botparams);
} 

12. Changeur Le message

Create a custom Slack bot: Changing the message

[DIX] [DIX]
METTRE À JOUR LES MESSIONS QUE LE BOT ENVOIE (Crédit d'image: concepteur web)

Essayons de Mettre à jour Le Texte que le Bot Nous envois. Danse CE CAS, sur ONU ÉVÉNEMENT DE MESSAGE, NOUS DevONS Répondre à un Message de Bot Entrant, NOUS ALLONS ALLONS DONC correspondre à Cette Condition de la Mise à Jour, et Nous Utilisons Égelement L'Horodatage du Message d'origine à Mettre à Métre à jour. C'est le message à Mettre à Mettre à jour, au Cas d'Autres d'Autres Sont Sont affichés Entre les Deux.

 Si (data.type === 'message' & amp; & amp; data.subtype! ==
'Bot_Message' & amp; & amp; data.text) {
Si (data.text.inclut ("METTRE À JOUR")) {
SendMessage ('JE Vais Mettre à jour en 5
seconde ');
Changelyply = vrai;
}
}
Si (data.type === 'message' & amp; & amp; data.subtype ===
'Bot_Message' & amp; & amp; Changlerely) {
Changelyply = faux;
SettimeOut (() = & GT; {
UpdateMessage ({Canal: Data.Channel,
TS: data.ts, texte: "J'ai mal à jour"});
}, 5000);
} 

13. MESSAGES ÉPHÉMÈRES

Create a custom Slack bot: Ephemeral messages

[DIX] [DIX]
Les Messages Éphémères NE SON SON VUS Que Par Nations U UTILISTURE ET PUUVENT A ÊTRE SUPPRRIMÉS (Crédit d'image: concepteur web)

Les Messages Éphémères Sont, comme Le nom pourraiter Suggérer, temporaire. ILS NE NE SON SONT ÉGAUMENT VISIBLES QUE POUR UN UTILISATEUR ET PUUVENT A ÊTRE SUPPRIMÉS PAR EUX. CES TYPES DE MESSAGES PUUVENT A ÊTRE UTILES COMMENT UNE POINTE OU UN RAPPEL QUI N'A Pas Besoin de Rester en Permanence.

 Si (data.text.tolowercase () comprenne ('hr')) {
Éphémèremessage ({
Channel: Data.Channel,
Utilisateur: Données.User,
Texte: 'SI VOUS AVEZ Besoin de Contacter HR,
Leur Email est [email protected] '
});
}

// LA FONCTION QUE NOUS Appelons
Fonction EphemeralMessage (MessageParams) {
bot.postephileal (messageparams.channel,
Fauxparams.Tulliser, MessageParams.text,
Botparams);
} 

14. Recherche Utilisateur

Différentes Méthodes Prendront Un paramètre Utilisateur Légèrent Différent (ID OU NOM, QUI EST DIFFÉRENT DE L'ANNONCE DISPLAY_NAME ET REAL_NAME). Cépendant, Seul L'ID Utilisateur est Disponible sur Les Événements de messages. NOUS POUVONS DONC METTRE EN ŒUVRE UNE RECHÉCHE PAR NOM D'UTILISATEUR EN OBTENANT TOUS LES UTILISATEURS ET correspondant à l'ID.

 Async Fonction Getansername (Userid) {
Retour Atternre Bot.Gettusers ()
.Ce (données = & gt; {
Laufser Membre = Data.Members.find
(utilisateur = & gt; {
renvoyer user.id === userid;
});
renvoyer un mémère.nom;
})
.Catch (err = & gt; console.log (err));
} 

15. Envoyer des Messages dirige

AVEC LA NOUVELLE RECHERCHE DE L'UTILISATEUR, NOUS POUVONS MARTANTANT ENVOYER DES MESSAGES DROITES À UN UTILISATEUR LORSQUE DES MESSAGES ÉPHÉMÈRES NE FERONT TOUT PLASSE PAS. NOTEZ QUE LES MESSAGES DIRECTEURS SON SON CONDÉRÉES COMMENT UN CANAL NEUF / DIFFÉRENT, AVEC UN IDENTIFIANT DIFFÉRENT DE CELUI DU CANAL D'Origine. VOUS POUVEZ ÉGALEMENT UNE RECHÉCHE DE CANAUX DE LA MÊME MANIÈRE QUE L'UTILISATEUR QUE NOUS AVONS EURCÉE PRÉCÉEMENT.

 // Dans l'Événement du message
Si (data.text.tolowercase (). Comprendre ('Bot')) {
senddm ({
Utilisateur: Données.User,
Texte: 'Commentaire de puis-jeeider?'
});
}
// LA FONCTION QUE NOUS Appelons
Async fonction senddm (fauxparams) {
User de Laisseez = Weattre Getansername
(MessageParams.User);
Retour Bot.PostMessagenersernerner (Utilisateur, message
Params.text, botparams, (err, données) = & gt; {
console.log (err)
});
} 

16. Répondre Avec une image

Les utilisateurs de Bot Ont Également des autorisations pour Télécharger des Fichiers et des images sur un canal. Cette Fonctionnalité N'est Pas Couverture Par des «Slackbots», Nous Devons Donc Instancer Un Nouveau Téléchargée, Comme Le Montre Ci-Dessous. Préparez Également Un dossier «Actif» à la Racine de Vérle Projet, AVEC Quelques Images.

Préparons Un appel à 'Sendimage ()', Défini à l'Étape SUIVANTE.

 // DANS INITIBOT ()
Uploader = nouveau slackeeupload (processus.env.
Slack_Token);

// Dans l'Événement du message
Si (data.text.inclut ('image')) {
Si (! Data.upload) {
/ * Danse CE CAS, IL N'Y A PAS DE MESSAGE
Sous type,
NOUS Vérifions Donc Que CE N'est Pas Décché Par Nations
Message de Téléchargement Précédent * /
SOIT Image = data.text.split ('') 
; sendimage ('c'est l'image que vous Voulu ', image); } }

17. LA FONCTION DE TÉLÉCHARTE DE FICHIER

Create a custom Slack bot: The file upload function

[DIX] [DIX]
UtiliseZ Le Télécharge et Le Système de Fichiers pour Télautcharger des images (Crédit d'image: concepteur web)

NOUS Téléchargez des images à l'aide du Télécharge et du module de Système de fichiers (FS). À condition que le message d'un utilisateur SOIT SOIT DANS LE FORMAT "Image & LT; Imagename.extension & GT;", et Un Tel Fichier Existent Dans le dossier "Actif", L'Image Sera Lue et Téléchargeée. Sinon, NOUS NOUS RENVOYONS Message de l'ONU Régulier (Cela Pourra, Même être Éphémère).

 Sendimage Fonction (message, image) {
uploader.uploadfile ({
Fichier: Fs.CremmeAreadeAm (Chemin.Join
(__dirname, '../../assets/$ {-Image}')),
MIMETYPE: 'Image / *',
Type de Fichier: '*',
Titre: image,
InitialCommentase: message,
Canaux: Canal
}, (err, données) = & gt; {
Si (err) {
sendMessage ('désolé je ne pas tromper le mécouveur
$ {image} ');
}
});
} 

18. Affiche à Plusieurs Canaux

VOUS POUVEZ PUBLIER PLUSIEURS CanAUX AVEC LE MÊME UTILISATEUR DE BOT, TANTM QU'IL Est MEMBRE DE CHAQUE Canal Où PARTEZ UNE Réponse. Créons Une Fonction "Posttoall" et Metttez à jour Les Variables d'Environnement Pour Avoir des Noms de Canaux Sous Forme de Valeurs Séparées Par des Virgules.

 CONS-CANAUX = processus.env.slack_channel.
Diviser (',');
Const de canal = canaux 
; Fonction postToall (message) { canaux.foreach (canal = & gt; { bot.postto (canal, message, botparams); }); }

19. Split Canaux

DE TEMPES EN TEMPS, VOUS VOUDREZ PUT-ÊTRE UTILISER DES CanAUX DE DÉBOGAGE OU DE RÉPONDRE AUX ÉVÉNEMENTS DIFFÉEMENT AVEC LE MÊME BOT DES DIFFÉRENTS CanAUX. C'est-à-dire la convention de Nommage de Chaîne. Nous supposérons pour l'exemple Suivant Que Slack_Channel = Tutoriel WDM, WDM-Tutorial-DUTORIAL-DUBUG.

 Fenction SplitMessages (Message, DebugMessage) {
canaux.foreach (canal = & gt; {
const msg = canal.clus («Débogage»)
? DebugMessage: message;
bot.postto (canal, msg, botparams);
});
} 

20. Dictionnaire des Réponses

NOUS AVONS Été DES RÉPONES DE CORRECTION DUR DIRECTION DANS LE MESSAGE. À l'avenir, pour rendu les choses plus faciles à gérer, vous, vous, VOUDREZ Peut-Être Stocker des déclencheurs et des Réponses, SOIT DANS ONU FORMAT DE BASE DE DONNées OU JSON, ET BASCULEZ ENTRE EN FRONCTION DES CONDITIONS RENCONTRÉES.

 // Exemple de Réponse
{
Entrée: 'hr',
INPUTMATCH: 'Infroissance',
Réponse: «SI Vous Avez Besoin de Contacter HR,
lur email est [email protected] ',
Nesestype: "Éphémère"
} 

21. Autres Ressources

Create a custom Slack bot: Further resources

[DIX] [DIX]
Il y a Beaucoup plus Info Bot à Trouveur Ailleurs (Crédit d'image: concepteur web)

Il y a des quellques Autres Propriétés utiles Disponibles Dans Dans La Api Slack. Espérons QUE CE Tutoriel AURA DONNÉ UN APERÇU DE CE QUI EST POSSIBLE VERS VOS VOS BESOINS DE BOT. D'Autres Ressources Peuvent êtres Trouvées en lisant le Documentation 'Slackbots' , ou le plein Documentation API Slack .

Article CET A Été Publié à L'Origine Dans Le Numéro 289 du magazine Creative Web Design Concepteur web . Achetez le Numéro 289 ICI or Abonnez-vous à la concepteur Web ICI .

Articles Liènes:

  • Construire un chatbot à MOTEUR AI
  • Slack's une UE Un Mise à jour Massive et Vous Alleez TOUS AIMER
  • Commentaire Concepoir UNE Expérience de Chatbot
[DIX] [DIX]
[DIX]

Comment - Most Popular Articles

Comment choisir un nom de site Web pour votre entreprise

Comment Sep 11, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'Images: Yan de Pexels) [DIX] Essayer de Choiisir ..


Comment rechercher Photoshop quelqu'un dans une image

Comment Sep 11, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'image: Future, Matt Smith) [DIX] Appommendre à s..


Le Guide essentiel pour désamorcer dans l'art

Comment Sep 11, 2025

[DIX] [DIX] [DIX] [dix] (Crédit d'Images: Rob Lunn) [DIX] SI VOUS VOUS PROXERTEZ DE..


10 choses que vous ne saviez pas que vous pouviez faire avec Photoshop

Comment Sep 11, 2025

[DIX] [DIX] [DIX] [dix] [DIX] Photoshop Est Un exemple Parfait de l'Ensemble Étant Supérieur à la Somm..


Comment créer une oeuvre de jeu stylisée

Comment Sep 11, 2025

[dix] [dix] [dix] [dix] Le style d'art du jeu vidéo de survie de la première personne ..


Comprendre la propriété d'affichage CSS

Comment Sep 11, 2025

[dix] [dix] [dix] [dix] Il est minuit et celui-là diviser Sur votre s..


Comment sculpter au cinéma 4D

Comment Sep 11, 2025

[dix] [dix] [dix] [dix] Lors de l'approche d'un modèle ou d'une scène nécessitant la modélisation..


Peindre un portrait à fourrure à fourrure

Comment Sep 11, 2025

[dix] Notre portrait de chat fini Peindre des animaux de compagnie et dessiner des animaux ..


Catégories