Hozzon létre egyéni laza botot

Feb 3, 2026
kézikönyv
Create a custom Slack bot
(Kép hitel: webdesigner)

A laza egyre népszerűbb eszköz a vállalkozásoknak és csapatoknak, akiknek azonnal kommunikálniuk kell. Bár esetleg - egyes esetekben - napi zavarnak tekinthető, nagy automatizálási potenciállal rendelkezik, amely több tucat integrációt kínál, hogy mindent egy helyen tartson, és lassan helyettesíti az e-maileket.

Sokféleképpen lehet integrálni a rendszereket laza; A platform még egy márkás botot is biztosít, amely lehetővé teszi az emlékeztetőket vagy az üzeneteket a digitális munkaterületen. És még több együttműködési javításokért próbálja meg ezeket felhő tároló lehetőségek.

  • 18 A legjobb együttműködési eszközök a tervezők számára

A laza különböző entitásokat kínál, amelyeket "botoknak" lehetnek:

  • WebHooks, amelyek lehetővé teszik az üzenetek küldését más alkalmazásokból laza, de a kommunikáció egyirányú formája,
  • Alkalmazások, Az előlegek integrációi (más alkalmazásokkal),
  • bot felhasználók, Röviden többet rájuk.

Ebben a bemutatóban különösen a "bot felhasználók", hogyan kell programozni őket (nézd meg az útmutatót a Legjobb kódszerkesztők hogy könnyebbé tegye az életedet), és megfeleljen az Ön igényeinek. Ez feltételezi, hogy hozzáférhet egy laza helyhez, ahol hozzáadhat alkalmazásintegrációt. Ha még nem része, szabadon hozhatók létre.

Az alábbiakban egy Nodejs-alkalmazást építünk, hogy post-to point-to és reagáljunk bizonyos üzenetekre egy laza csatornán. A "Slackbots" modult használjuk, amely a laza valós idejű üzenetküldő API csomagolása.

Ön is érdekli a weboldal? Válasszon egy ragyogó weboldal építője és felső web hosting szolgáltatás, hogy menjen vele.

01. Kód beállítás

Ez a bemutató feltételezi, hogy a csomópont telepítve van. Ha nem, akkor most. Azután Töltse le az eszközöket szükséged lesz. Kiindulópontot és keretet biztosítunk a bemutató számára.

Az egészben olyan modulokat használunk, mint a "Slackbots" és a "csomópont-laza-feltöltés". A telepítési parancs futtatásával érhetők el.

npm install

02. Laza beállítás

Create a custom Slack bot: Slack setup

Adja meg a bot egy felhasználónevét, és hívja meg a csatornádra (Kép hitel: webdesigner)

A "bot felhasználói" integrációt használjuk a lazaságért. Ehhez egy jelzést kell kapnunk, ha "https: // & lt; Youslackworkspace & gt; .slack.com / apps / A0F7ys25r-bots ', és kattintson a" Konfiguráció hozzáadása "gombra.

Válasszon egy felhasználónevet a bot számára (később felülírhatjuk ezt a programot egy későbbi szakaszban), és erősítse meg.

Hívja meg a botot a kívánt csatornára.

A bot felhasználó létrehozásával kap egy tokenet a következő formátumban:

xoxb-000000-000000-x0x0xxxxx0xxxxx0x

Másolja a tokenet a következő lépéshez.

03. Környezetváltozók

Környezeti változókat (egy '.env' fájlt) használunk, hogy elkerüljük a kemény kódolást és a titkos tokenek és kulcsok feltárását, mint például a generált laza token, és a csatorna nevét a magán laza munkaterületen.

Menjen előre, és töltse ki a ".env" fájlt a tokenjével, és a csatorna nevét, amelyre meghívta a bot-felhasználót.

 Slack_token = xoxb- & lt; yourtoken & gt;
Slack_CHANNEL = & LT; CHANNEL-NAME & GT; 

04. Bot paraméterek

Ez a következő lépés 2 fájlba kerül: "index.js", amelyet rövid pillantást vetünk és "bin / lib / bot.js", ahol a legtöbb fejlesztésünk megtörténik. Az indexfájlban instantiáljuk a botot úgy, hogy nevet adunk, ami "wdmbot".

A "bot.js" -ban az egyes példányok paramétereit vezéreljük a név, token stb.

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

//bot.js
const botparams = {
icon_emoji: ': robot_face:',
as_user: hamis
};
Hagyja botot;
Funkció initbot (botnév) {
bot = új slackbot ({
token: folyamat.env.slack_token,
Név: Botnév
});
} 

05. Hozzászólás a csatornára

Create a custom Slack bot: Post to channel

Most megkaphatja a botot, hogy üzeneteket küldjön (Kép hitel: webdesigner)

Nézd meg a "SendMessage" funkciót. A "posto" módszert használjuk. Ez kezelni fogja a postázást bármilyen típusú csatorna, nyilvános vagy privát. Ha csak magáncsatornákra szeretne küldeni, a "posttogroup" helyett (vagy "posttochannel" -t használhatsz egy nyilvánosságra). Elküldeni az első üzenetünket, hozzáadhatunk kódot az "Initbot" -ban.

 FUNKCIÓ INITBOT (BOTNAME) {
bot = / * lásd fent * /
SendMessage ("Itt vagyok!");
}
// most futtassa az "NPM START" 

06. Egyéni botparams

Észreve kellett volna észrevenni a WDMBOT üzenetét a csatornádban. Érdemes megjegyezni, hogy a "Botparams" -ban, az "AS_USER" FALSE-re van beállítva, amely lehetővé teszi számunkra, hogy felülbírálja a nevet és a képet. Ha igaz, akkor a token megszerzése során beállított nevet és képet fogja használni.

Megváltoztathatja a bot emoji-t olyan képre, mint például:

 CONST BOTPARAMS = {
Icon_URL: 'https://pbs.twimg.com/
profil_images / 976112552081010688 /
Wllqvj8d_400x400.jpg ',
as_user: hamis
}; 

07. Csatorna események

Create a custom Slack bot: Channel events

Állítsa be a botot az üzenetek meghallgatásához (Kép hitel: webdesigner)

Az üzenetek közzététele hasznos, de a bot interaktívabbá tétele érdekében képesnek kell lennünk, hogy képesek legyenek azonosítani a többi felhasználónak a csatornán. Hallgassuk meg az üzenet eseményét, majd nézd meg, mi történik, ha beírjuk a csatornát. Látnunk kell különböző üzenetfajták naplózva, mint a "User_Typing" vagy az "Üzenet".

 FUNKCIÓ INITBOT (BOTNAME) {
bot = / * lásd fent * /
bot.on ("üzenet", adat = & gt; {
konzol.log (adatok);
});
} 

08. Válaszoljon a bejövő üzenetekre

Ezután válaszolunk a "Üzenet" típusú bejövő üzenetekre, és talán egy adott kifejezésre vagy kulcsszóra, hogy elkerüljék az abszolút mindent. Biztosítjuk, hogy összehasonlítsuk a kisbetűket, ha pontos kifejezést szeretnénk megegyezni. Azt is láthattuk, hogy egy üzenet "magában foglalja" egy adott szót.

 bot.on ("üzenet", adat = & gt; {
ha (Data.Type === "üzenet") {
ha (data.text.tolowercase () === 'hol
te?') {
SendMessage ("Itt vagyok!");
}
}
}); 

09. Korlátozza az "emberi" felhasználókat

A bot felhasználók által küldött üzenetek különböző tulajdonságokkal rendelkeznek, mint például a "bot_message" és a bot_id altípusa. Lehet, hogy korlátozhatja a válaszolást csak az emberi közzétett üzenetekre, hogy elkerülje a botok végtelen hurkot, amelyek magukra vagy egymásra válaszolnak, ha válaszuk magában foglalja az Ön által hallgatott kulcsszavakat.

 bot.on ("üzenet", adat = & gt; {
Ha (Data.Type === "üzenet" & amp; & amp; adatok.
altípus! == 'bot_message') {
ha (data.text.tolowercase ().
magában foglalja ("hello")) {
SendMessage (Hello, bot! ");
}
}
}); 

10. Személyre szabott válasz

Ahhoz, hogy személyre szabottabb választ adjon, kihasználhatja a válaszolt üzenet felhasználói azonosítóját. A laza automatikusan átalakítja az azonosítót a felhasználónévhez, ha a címkék "& lt; @ & gt;" címkékben van. Azonosítva, hogy ki válaszol, hasznos lehet, különösen ha több csatorna tagja egyidejűleg kölcsönhatásba lép a botokkal.

 bot.on ("üzenet", adat = & gt; {
Ha (Data.Type === "üzenet" & amp; & amp; adatok.
altípus! == 'bot_message') {
ha (data.text.tolowercase ().
magában foglalja ("hello")) {
SendMessage ("hello & lt; @ $ {data.user}
& gt; Bot vagyok! ');
}
}
}); 

generate CSS

Ha szeretné megtanulni a legfrissebb kreatív és gyakorlati készségeket, hogy vigye az ügyfélmunkát, a karriert vagy az ügynökséget a következő szintre, akkor csatlakozzon hozzánk a CSS-ben - CSS-fókuszú konferencia webes tervezők és fejlesztők számára. Tudjon meg többet itt . Használjon különleges ajánlatkódot Webdesigner2 10% kedvezményre a jegyekre! (Kép hitel: getty / jövő)

11. Frissítési válaszok

A botok szerkeszthetik a válaszokat is. Csak a sajátjuk. Tehát, ha reméltek elírás foltosodásgátló bot, amely korrigálja az üzeneteket automatikusan, amikor meglát egy hibát, ez nem lehetséges, a jelenlegi felállás.

Az üzenet frissítéséhez új funkciót és globális logikai, amelyet a mi demóban használunk.

 Legyen Changerply = FALSE;
Funkció Updatemessage (MessageParams) {
bot.updatemessage (MessageParams.Channel,
MessageParams.Ts, MessageParams.Text,
botparams);
} 

12. Módosítsa az üzenetet

Create a custom Slack bot: Changing the message

Frissítse az üzeneteket, amelyeket a bot küld ki (Kép hitel: webdesigner)

Próbáljuk frissíteni a szöveget, amit a bot küld nekünk. Ebben az esetben egy üzeneteseményen, válaszolnunk kell egy bejövő bot üzenetre, így megegyezünk a frissítés feltételeivel, és az eredeti üzenet időbélyegezését is használjuk. Ez olyan laza lehet azonosítani, hogy melyik üzenetet frissítse, abban az esetben, ha mások közzéteszik.

 Ha (Data.Type === "üzenet" & amp; & amp; data.subtype! ==
'bot_message' & amp; & amp; data.text) {
ha (data.text.Inludes ('Update')) {
SendMessage ('5-ben frissítem
másodpercek);
changerply = igaz;
}
}
Ha (Data.Type === "üzenet" & amp; & amp; data.subtype ===
'bot_message' & amp; & amp; changerply) {
Changerply = FALSE;
Settinout (() = & gt; {
Updatemessage ({CHANNEL: DATA.CHANNEL,
TS: adatok, szöveg: "Frissítettem"});
}, 5000);
} 

13. Efemerális üzenetek

Create a custom Slack bot: Ephemeral messages

Az efemerális üzeneteket csak egy felhasználó látja, és törölhető (Kép hitel: webdesigner)

Az efemerális üzenetek, mivel a név javasolhatja, ideiglenes. Ezek csak egy felhasználó számára is láthatóak, és törölhetők őket. Ezek az üzenetek hasznosak lehetnek olyan csúcs vagy emlékeztető, amely nem kell tartósan maradnia.

 ha (data.text.tolowercase (). Tartalmazza ("hr")) {
EfemeralMessage ({
Csatorna: Data.Channel,
Felhasználó: Data.User,
Szöveg: 'Ha kapcsolatba kell lépnie a HR-vel,
e-mailje a [email protected] '
});
}

// a hívott funkció
Funkció EfemeralMessage (MessageParams) {
bot.postephemeral (MessageParams.Channel,
MessageParams.user, MessageParams.Text,
botparams);
} 

14. Felhasználói keresés

Különböző módszereket fog némileg eltérő felhasználói paraméter (akár azonosító vagy név, amely eltér a DISPLAY_NAME és real_name). Azonban csak a felhasználói azonosító elérhető az üzeneteseményeken. Ezért megvalósíthatjuk a felhasználói névkeresést, ha az összes felhasználót és az azonosítót illesztve.

 Async funkció GetUpername (UserID) {
visszatérés bot.getusers ()
.hen (adat = & gt; {
Legyen tag = adatok.members.find
(felhasználó = & gt; {
Visszatérő felhasználó.ID === Felhasználói azonos;
});
Visszatérő tag.name;
})
.catch (err = & gt; console.log (hibás));
} 

15. Direct üzenetek küldése

Az új felhasználói kereséssel most már közvetlen üzeneteket küldhetünk egy felhasználónak, amikor az efemerális üzenetek csak nem fognak megtenni. Ne feledje, hogy a közvetlen üzeneteket új / különböző csatornának tekintik, más azonosítóval, mint az eredeti csatorna. A csatorna keresést ugyanúgy is megvalósíthatod, mint a korábban végzett felhasználó.

 // az üzeneteseményen
ha (data.text.tolowercase (). Tartalmazza ("bot")) {
senddm ({
Felhasználó: Data.User,
Szöveg: "Hogyan segíthetek?"
});
}
// a hívott funkció
Async funkció Senddm (MessageParams) {
hagyja, hogy a felhasználó = várjon GetUperName-t
(MessageParams.User);
Visszatérés bot.postmessageTouser (felhasználó, üzenet
Params.text, botparams, (hibás, adatok) = & gt; {
konzol.log (hibás)
});
} 

16. Válaszoljon egy képre

A bot felhasználóknak is vannak jogosultságai a fájlok és képek feltöltésére egy csatornára. Ez a funkció nem vonatkozik a "Slackbots" hatálya alá, ezért új feltöltővel kell rendelkeznünk, amint azt az alábbiakban bemutatjuk. Szintén készítsen egy "eszköz" mappát a projektgyökéren, néhány képzel.

Készítsünk egy hívást a következő lépésben meghatározott "Sendimage ()" -ra.

 // initbotban ()
Feltöltő = új lazaupload (folyamat.env.
Slack_token);

// az üzenet eseményen
ha (data.text.Inludes ("kép")) {
Ha (! Data.upload) {
/ * Ebben az esetben nincs üzenet
altípus,
így ellenőrizzük, hogy ez nem indult a
Előző feltöltési üzenet * /
Legyen kép = data.text.text.split ('') 
; sendimage ("ez a kép WANTED ', kép); } }

17. A Fájl feltöltési funkciója

Create a custom Slack bot: The file upload function

A képek feltöltéséhez használja a feltöltőt és a fájlrendszert (Kép hitel: webdesigner)

Képeket töltünk fel a feltöltő és a fájlrendszer (FS) modul használatával. Feltéve, hogy a felhasználó üzenetet ebben a formában „kép & lt; imagename.extension & gt;”, és egy ilyen fájl létezik a „eszközök” mappát, a kép lesz olvasni és feltölteni. Ha nem, rendszeres üzenetet küldünk vissza (még egy efemerális is lehet).

Funkció Sendimage (üzenet, kép) {
uploader.uploadfile ({
Fájl: Fs.createAteadstream (path.join
(__dirname, '../../Assets/$ [MIMAGE}')),
Mimetype: 'image / *',
fájltípus: '*',
Cím: Kép,
inicialcomment: üzenet,
Csatornák: csatorna
}, (hibás, adatok) = & gt; {
ha (hibás) {
SendMessage ("Sajnálom, hogy nem találok
$ {image} ');
}
});
} 

18. Hozzászólás több csatornára

Több csatornára küldhet ugyanazt a bot-felhasználót, mindaddig, amíg az egyes csatornák tagja, ahol válaszolsz. Hozzunk létre egy "PosttoAll" funkciót, és frissítjük a környezeti változókat, hogy a csatorna nevét vesszővel elválasztott értékekként használják.

 CONST CHANNELS = PROCESS.ENV.SLACK_CHANNEL.
hasított(',');
CONSTH csatorna = csatornák 
; Funkció HosttoAll (üzenet) { csatornák.foreach (csatorna = & gt; { bot.postto (csatorna, üzenet, botparams); }); }

19. Split csatornák

Időnként lehet, hogy csatornákat szeretne használni a hibakereséshez, vagy válaszolhat az eseményekre, ugyanolyan botdal különböző csatornákban. Ez rajtad múlik, hogy edzse a csatorna elnevezési egyezményét. A következő példát fogjuk feltételezni, hogy a Slack_CHannel = WDM-bemutató, WDM-bemutató-debug.

 Funkció Splitmessages (üzenet, debugmessage) {
csatornák.foreach (csatorna = & gt; {
CONST MSG = CHANNEL.InClUdes ('Debug')
? DebugMessage: Üzenet;
bot.postto (csatorna, msg, botparams);
});
} 

20. Válaszok szótárai

Keménykódolási válaszokat közvetlenül az üzenetben. Előre haladva, hogy a dolgok kezelhetőbbé váljanak, lehet, hogy a triggerek és válaszok tárolása, akár egy adatbázisban, akár JSON formátumban, és a találkozó feltételek függvényében válthat.

 // Példa válaszelem
{
Bemenet: "hr",
inputmatch: "Include",
Válasz: 'Ha kapcsolatba kell lépnie a HR-vel,
e-mailjeik a [email protected],
Válasz típus: "Efemeral"
} 

21. További források

Create a custom Slack bot: Further resources

Sokkal több bot információ található máshol (Kép hitel: webdesigner)

Van néhány más hasznos tulajdonság a laza API-ban. Remélhetőleg ez a bemutató áttekintést kap arról, hogy mi lehetséges az összes bot igénye. További források megtalálhatók a 'Slackbots' dokumentáció vagy a teljes Laza API dokumentáció .

Ez a cikk eredetileg a Creative Web Design magazin 289-es számában jelent meg Web designer . Itt vásároljon 289 kérdést vagy Iratkozzon fel itt a webdesignerre .

Kapcsolódó cikkek:

  • Építsen egy AI-POWERED Chatbotot
  • Laza volt egy hatalmas frissítés, és mindannyian szeretni fogod
  • Hogyan tervezhet egy chatbot tapasztalatot

kézikönyv - Most Popular Articles

Kezdje az Artrage-t

kézikönyv Feb 3, 2026

(Kép hitel: Steve Goad) Kezdje el az Artrage-t 01. Kapjon be az Artrage-ben ..


Perspektíva létrehozása az Adobe Illustrator

kézikönyv Feb 3, 2026

Page 1 of 2: A perspektivikus rács használata az Illustrator: 01-09 lépések ..


Építsen egy animált osztott képernyő céloldalt

kézikönyv Feb 3, 2026

A céloldala kulcsfontosságú elem az Ön számára honlap elrendezés . Ez az első igazi lehetőség, hogy be k..


Power A blog a WordPress API használatával

kézikönyv Feb 3, 2026

Az elmúlt években a Wordpress számára a pihenő API fejlesztése új ajtókat nyitott a fejlesztők számára. A fejlesztők,..


festeni egy portré olajban

kézikönyv Feb 3, 2026

Tanulás Hogyan festeni A portré nem könnyű, de vannak olyan lépések, amelyeket követhet, hogy segítsen az ..


A színes ceruzák keveredése

kézikönyv Feb 3, 2026

A színes ceruzák keveredésének megtanulása segít abban, hogy többet kapjon az eszközeiből. Ahelyett, hogy az egyes ceruzák egyéni, lapos színét támaszkodnánk, összekeverhetjü..


Egyéni Maya interfész létrehozása

kézikönyv Feb 3, 2026

A modern szoftverek rendkívül erősek és mindenre kiterjedőek lehetnek. Maya nem különbözik, és egy zavaros tömböt kínál az eszközök, parancsok és opciókhoz, hogy segítsen el..


Kreatív kreatív portrékkal és arc-tudatos folyékonysággal

kézikönyv Feb 3, 2026

Mindannyian játszottunk a Photoshop folyékony eszközével, de a Photoshop CC legújabb iterációjában, Vályogtégla..


Kategóriák