Kuidas luua Meetup Slack-bot standardteegiga ja Node.js

Selles juhendis saate teada, kuidas seadistada rakendus Slack, mis kuvab teavet Meetupi API-st, mis edastab Meetupi salvestatud andmeid muule rakendustarkvarale.

Meetup on populaarne veebisait, kus sarnaste huvidega inimesed moodustavad rühmi, et korraldada üritusi oma kohalikes linnades.

Kui oleme Meetupi API-le päringu edukalt esitanud, saame Meetupilt vastuse, kogume konkreetsed andmed JSON-i koormusest ja kuvame need andmed Slack'is. Kujundame meie Slacki rakenduse manuse nii, et see kuvaks sündmuse nime, kirjelduse, kuupäeva ja kellaaja, asukoha ja palju muud!

Kuidas see töötab:

Kui edastad / järgminemeetup 94709 & javascripti (või mis tahes postiindeksi ja huvipakkuva teema) Slacki teadete lahtrisse, käivitatakse veebikoda. Standardraamatukogus üles ehitatud ja hostitud veebikoda esitab kõigepealt Meetupi API-le päringu, mis tagastab JSON-i kasuliku teabe päringu tulemustega.

Seejärel loob veebikoda iga sündmuse jaoks vaikseid sõnumeid ja postitab need määratud kanalile.

Pole vaja üle jõu käia! Teeme selle sammu korraga.

Mida vajate:

1x vaikne konto

1x Meetup konto

1x tavaline raamatukogu konto

1. samm: seadistage oma vaikne rakendus

Veenduge, et olete Slackisse sisse loginud, ja külastage oma Slack Appsi juhtpaneeli aadressil https://api.slack.com/apps. Näete ekraani, mis näeb välja järgmine.

Klõpsake nuppu Loo uus rakendus. Teile pakutakse viisi, kuidas sisestada oma rakenduse nimi ja arenguruumi tööruum, kuhu soovite selle lisada.

Siit klõpsake valikul Loo rakendus. Leiate end põhiteabe lehel.

Kerige alla jaotiseni Kuva teave. Siin saate anda oma rakendusele Slack soovi korral nime, kirjelduse ja pildi.

Hoidke põhiteabe leht brauseris avatud. Kasutame seda sekundiga teie Slacki rakenduse mandaatide hankimiseks, et ühendada see rakendus standardteegil asuva taustaprogrammiloogikaga - teie rakendust käitava koodiga.

2. samm: looge tasuta standardne raamatukogu konto

Võõrustame meie Slacki rakenduse koodi tavaraamatukogus - koodi, mis taotleb ja saab Meetups API-st konkreetset teavet. Nii et minge edasi Code of Standard Library juurde ja taotlege oma tasuta kontot.

3. samm: kopeerige ja muutke rakenduse Slack App Code malli standardkirjas

Kui olete sisse loginud või sisse loginud, maandub seade jaotisesse „Esiletõstetud API-allikas”. Need on rakenduste koodimallid, mis on standardses raamatukogus kõigile kättesaadavad, et rakendusi hõlpsalt kopeerida ja muuta. Valite rakenduse Slack malli ja muudate seda, et luua oma rakendus, mis käivitab rakenduse Slack.

Sisestage oma API projekti kordumatu nimi ja klõpsake nuppu OK.

Slack Appi lähtekoodi malli lühike selgitus:

Teeme hetkeks pausi, et mõista, mida me vaatame. Vasakpoolne külgriba on API-projekti telling, mille Standardkogu on teile seadistanud Slacki rakenduste loomiseks.

Slack Appsi koodimallis on neli kataloogi. Töötame ainult funktsioonide kataloogis, mis on varustatud veel kolme kaustaga

toimingud /, käsud / ja sündmused / ning üks fail __main __. js. Juhised teie rakenduse vaiksete toimingute, kaldkriipsu käskude ja sündmuste jaoks asuvad nendes kaustades.

API juurutamisel genereerib Standard Library iga kataloogi jaoks automaatselt HTTPS-i lõpp-punktid (URL-id). Saadud URL-id võimaldavad meil konfigureerida veebikohti, mis kuulavad ja reageerivad Slacki toimingutele, kaldkriipsu käskudele ja sündmustele.

Kõik viis kausta (sealhulgas funktsioonide kaust on seadistatud failiga __main __. Js (kataloogi peamine lõpp-punkt). Need lõpppunktid__main __. Js saadavad vastavad funktsioonid, kui nad saavad Slackilt sõnumi. Selle õpetuse jaoks on fail__main __. Js käskude lõpp-punkti saatmine, kui helistame API-le meie Slack Boti kaudu. Naaskem siis meie robotite seadistusse!

4. samm: lisage käsk oma standardse raamatukogu API-le

Looge täiendav käsk

käsud: käskude kataloog on kõigi Slack kaldkriipsuga käskude lõpp-punkt. Lisakäskluse loomiseks viige kursor käskude kataloogi kohale ja paremklõpsake. Valige Uus fail ja pange oma kaldkriipsufailile fail nextmeetup.js ja klõpsake nuppu Okei.

Pange oma käsule nimi

Sel hetkel märkate enda sees (__main __. Js) JavaScripti funktsiooni “hello world”, mis genereeritakse automaatselt.

Asendage saidi nextmeetup.js sisu järgmisega:

Koodi lühike selgitus:

Kui saadate / järgmise seadistuse oma rakenduse Slack kaudu, esitate GET-i taotluse Meetupi API-le.

Iga Meetups API-le esitatud taotlus peab olema autentitud API-võtmega, seega anname meetup-võtme env.json-failist oma päringusse. Saadame ka meie GET-i päringu koos kahe parameetriga - ZIP ja teema.

Meetup API tagastab massiivi meetupi sündmuste objekte, mida saame vaadata standardteekide logi koodide alt, logides oma vastuse: console.log (response.data). Teie logide vahekaart asub silumissektsiooni all.

Vastus.andmed on teie päringule vastavate sündmuste massiiv ja soovime iga sündmuse jaoks luua kaks manust (üks asukoha ja teine ​​üksikasju). Meil on funktsioon nimega formatAttachement, mida saame kutsuda igale sündmusele. Tulemused pannakse massiiviks nimega manused, mis saadetakse Slackile.

Kui olete koodi faili nextmeetup.js kopeerinud ja kleepinud, salvestage muudatused ja liikuge vasakpoolsel ribal menüüsse env.json.

5. samm: täitke oma env.json-fail rakenduse mandaatide ja võtmetega

Env.jsoni sees näete oma API keskkonnamuutujaid. Saate seada erinevad väärtused kohalikule, arenduskeskkonnale ja väljalaske (tootmise) keskkonnale. See fail sisaldab kõiki teie unikaalseid juurdepääsuvõtmeid teie tavakogu kontole, Meetupi kontole ja rakenduse Slack mandaatidele.

Teeme muudatusi ainult keskkonnamuutujates dev - veenduge, et muudate õiget komplekti! Pange tähele, et "dev" väärtused on teie arengukeskkonna jaoks ja "vabastamise" väärtused tuleks asustada ainult siis, kui olete valmis oma rakenduse vabastama. "Kohalikud" muutujad võib standardteegist Code'i juurutamisel jääda tühjaks, kuid need peaksid olema täidetud käsuridade tööriistadega töötamisel.

Alustame täites muutuja “STDLIB_TOKEN”. Pange kursor jutumärkide vahele (vt ekraani) ja paremklõpsake ja valige Insert Library Token… või kasutage otsetee ⌘ + K.

Valige oma teegi luba

Keskkonna "dev" täitmiseks valige Library Token.

Nüüd minge tagasi oma Slack Appi põhiteabe lehele ja liikuge alla rakenduse mandaadini:

Kopeerige oma kliendi ID, kliendi saladus ja kinnitusluba. Kleepige need faili env.json jaotisesse dev vastavatesse väljadesse.

Lisage nimi, mille andsite rakendusele Slack_APP_NAME oma rakendusele Slack.

Näide: SLACK_APP_NAME: Meetup-bot

Väärtuseks “SLACK_REDIRECT” on https-lõpp-punkt, mille genereerib Standard Library, kui olete oma API juurutanud. Kuigi me pole seda veel kasutusele võtnud, täitke see struktuur juba praegu. https: // .api.stdlib.com / @ dev / auth / - teie standardse teegi kasutajanime ja teie API nimega. Kui oleme koodi kasutusele võtnud, võite naasta, et kinnitada, et olete selle väärtuse õigesti täitnud.

Minu SLACK_REDIRECT näeb välja selline: https://Janethl.api.stdlib.com/slack-meetup-bot@dev/auth/ - veenduge, et lisate autentimistee kaldkriipsuga lõpus.

Teie Slacki rakenduse võimalused ja õigused on juba seadistatud järgmiste ulatustega:

“SLACK_OAUTH_SCOPE”: bot, käsud, vestlus: kirjuta: bot, vestlus: kirjuta: kasutaja, failid: kirjuta: kasutaja, kanalid: ajalugu

Viimane muutuja, mille peate lisama, on teie Meetup API-võti. Meetup eeldab, et iga päring autentitakse API-võtmega.

6. samm: hankige oma Meetup API võti

Logige sisse või looge konto saidil Meetup.com. Liikuge lehele https://secure.meetup.com/meetup_api/key/, et hankida oma unikaalne API-võti. API-võtme kuvamiseks ja selle kopeerimiseks klõpsake lukul.

Naaske oma ENV.jsonfaili juurde jaotises Kood standardteekis. Lisage oma võtme Meetup väärtus võtmena, täpselt nii, nagu ma olen pildil teinud:

Salvestage muudatused kindlasti klahviga ⌘ + s (või vajutage paremas alanurgas nuppu Salvesta).

Külgriba menüü pliiatsil sündmuste kataloogi all asuv fail __main __. Js. Juurutage oma Slacki rakenduse kood tavaraamatukogu, klõpsates nuppu „Käivita“.

  • Vahetult pärast oma koodi juurutamist genereerib Standard Library HTTPS API lõpp-punkti URL-i, kus teie kood elab. See aadress koosneb teie .api.stdlib.com, millele järgneb nimi, mille andsite oma API @ keskkonnale: https://janethl.api.stdlib.com/slack-meetup-bot@dev/

Nüüd on URL, mis võimaldab meil saata ja vastu võtta sõnumeid meie rakendusest Slack Meetupi API-le. Nüüd peame oma URL-i seadistama veebisaidil Slack, nii et lähme tagasi Slacki rakenduse juhtpaneelile

7. samm: looge uus kaldkriipsu käsk ja määrake veebihook

Nüüd peame seadistama oma rakenduse Slack reageerima kaldkriipsukäsule (/). Selleks peame Slacks API lehel üles seadma veebikoha.

Mis on Webhook?

Võib-olla saame veebihookist aru, kui võrrelda seda API-ga. API-liidesed põhinevad päringutel - see tähendab, et nad töötavad, kui taotlus on esitatud kolmanda osapoole rakendusest. Veebihook põhineb sündmusel - kood käivitatakse siis, kui konkreetne sündmus selle käivitab.

Veebihoki seadistamiseks peab teenusepakkuja lubama oma tarbijatel registreerida URL, kuhu pakkuja saab sündmuse toimumise ajal teavet saata. Selles näites võimaldab Slack meil registreerida oma URL-i aadressi ja kui kaldkriipsukäsklus on registreeritud, võib see käivitada meie veebihoki, mis käivitab meie URL-is oleva koodi.

Nüüd, kui oleme sellest aru saanud, pöördugem edasi Slacki API-lehele, et seada meie veebikoda. Otsige ja valige külgriba menüüst Kaldkriipsukäsud.

Pärast nupul Loo uus käsk klõpsamist palutakse teil sisestada oma käsu üksikasjad, näiteks:

Käsk: / nextmeetup

RequestURL: https: // .api.stdlib.com / @ dev / käsud /: bg

Lühikirjeldus: hangib Meetupi sündmused

Kasutamise näpunäide: [ ja ]

Kui olete lõpetanud, klõpsake nuppu „Salvesta”.

8. samm: lubage OAuth ja õigused

Naaske oma Slack Appi juurde. Klõpsake külgriba menüüs OAuth ja õigused.

Kui olete sinna jõudnud, peate sisestama ümbersuunamise URL-i järgmiselt: https: // .api.stdlib.com / @ dev / auth /

klõpsake "Lisa" ja "Salvesta URL-id".

See ümbersuunamise URL peaks ühtima URL-iga, mille määrasime failis env.json standardkogusse Kood.

9. samm: lisage oma Slack Appile bot

Naaske oma Slack App lehele ja klõpsake vasakul külgribal nuppu Bot Users. Klõpsake nuppu Lisa boti kasutaja. Säilitage vaikesätted.

Lisage Boti kasutaja

Viimane samm on rakenduse autoriseerimine. Tippige oma brauseris: https: // .api.stdlib.com / @ dev /

Klõpsake nuppu Lisa vähese sisuga. Teid suunatakse teisele autoriseerimisekraanile.

Klõpsake valikul Volita. Te peaksite nägema eduteadet!

10. samm: testige oma Slack Meetup rakendust

Olete kõik valmis. Proovi! Teie Slack App on nüüd kasutamiseks töökohal Slack, mille jaoks olete selle volitanud. Teie rakendus Slack peaks reageerima a / nextmeetup <94709> & -le, nagu ma näen ülaltoodud ekraanipildil.

See on see & aitäh!

Loodetavasti leidsite sellest õpetusest abi. Ma tahaksin, et te kommenteerite siin, saadate mulle e-kirja aadressil Janeth [at] stdlib [dot] com või järgige Twitteri tavaraamatukogu, @StdLibHQ.

Janeth Ledezma on Standard Library ja Cal grad arendaja advokaat - mine karu! Kui ta ei õpi araabia keelt ega tee trenni, võite leida, et ta uurib NorCali oma CBR500R-ist. 🏍 Jälgige tema teekonda Standard Library kaudu Twitteri @mss_ledezma kaudu.