Standart Kitabxana və Node.js ilə necə bir Meetup Slack Bot yarada bilərəm?

Bu təlimatda, Meetup API-dən məlumatları əks etdirən və yığılmış məlumatları Meetup-dan digər tətbiq proqramlarına ötürən bir Slack tətbiqi qurmağı öyrənəcəksiniz.

Meetup oxşar maraqları olan insanların şəhərlərində tədbirlər təşkil etmək üçün qruplar yaratdıqları məşhur bir veb saytdır.

Meetup API-yə uğurla bir müraciət etdikdən sonra, JSON faydalı yükündən müəyyən məlumatları götürərək və Slack-da göstərərək Meetup-dan cavab alacağıq. Tədbirin adını, təsvirini, tarixini, vaxtını, yerini və daha çoxunu göstərmək üçün Slack tətbiqetməmizin dizaynını hazırlayacağıq.

Bu necə işləyir:

Slack'in mesaj qutusuna / nextmeetup 94709 & Javascript (və ya hər hansı bir poçt kodu və maraq doğuran mövzu) göndərilməsi bir webhooku işə salacaqdır. Standart Kitabxanada yaradılan və yerləşdirilən webhook, əvvəlcə sorğunun nəticələrini ehtiva edən bir JSON yükü qaytaran Meetup API-yə bir sorğu göndərir.

Veb qarmaq daha sonra hər hadisə üçün Slack mesajları yaradır və onları müəyyən bir kanala göndərir.

Darıxmağa ehtiyac yoxdur! Hər addımbaşı bir addım ataq.

Nəyə ehtiyacınız olacaq:

1x Slack hesabı

1x görüş hesabı

1x standart kitabxana hesabı

Addım 1: Slack tətbiqinizi qurun

Slack-də oturum açdığınızdan əmin olun və https://api.slack.com/apps adresindəki Slack Apps panelinizi ziyarət edin. Buna bənzər bir ekran görəcəksiniz.

Yeni Tətbiq Yarat vurun. Tətbiqinizin adını və əlavə etmək istədiyiniz Development Slack iş sahəsini daxil etməyiniz üçün sizə bir modal veriləcək.

"Tətbiq Yarat" a vurun. Əsas məlumat səhifəsindəsiniz.

Məlumatları görmək üçün aşağıya fırladın. İstədiyiniz yerdə Slack tətbiqetməyinizə bir ad, təsvir və şəkil verə biləcəyiniz yerdir.

Brauzerinizdə əsas məlumat səhifəsini açıq buraxın. Qısa müddətdə Slack tətbiqinizin etimadnaməsini əldə etmək və bu tətbiqi Standart Kitabxanada yerləşdirilən arxa məntiqə - tətbiqinizi işləyən kodla əlaqələndirmək üçün qısa müddətdə istifadə edəcəyik.

Addım 2: pulsuz standart bir kitabxana hesabı yaradın

Slack tətbiq kodumuzu standart kitabxanada yerləşdiririk - Meetups API-dən müəyyən məlumat tələb edən və alan kod. Beləliklə Standart Kitabxananın Koduna gedin və pulsuz hesabınızı tələb edin.

Addım 3: Standart Kitabxanada Slack Tətbiq Kodu Şablonunu kopyalayın və dəyişdirin

Daxil olduqdan və ya daxil olduqdan sonra Xüsusi API mənbəyinə aparılacaqsınız. Bunlar, tətbiqlərin asanlıqla kopyalanması və dəyişdirilməsi üçün hər kəs üçün standart kitabxanada mövcud olan tətbiq kodu şablonlarıdır. Slack tətbiq kodu şablonunu seçin və Slack tətbiqetmənin dəstəklədiyi API yaratmaq üçün dəyişdirin.

API layihəniz üçün unikal bir ad daxil edin və Tamam düyməsini basın.

Slack App mənbə kodu şablonunun qısa izahı:

Nə axtardığımızı anlamaq üçün bir anlıq dayanaq. Sol kenar çubuğu, Slack tətbiqləri qurmaq üçün Standart Kitabxananın qurduğu bir API layihə çərçivəsidir.

Slack Apps üçün kod şablonunda dörd qovluq var. Yalnız üç əlavə qovluğu olan funksiya qovluğu daxilində işləyəcəyik

Əməliyyatlar /, Komutlar / və Tədbirlər / habelə tək bir fayl __ əsas __. js. Tətbiqiniz üçün Slack əməliyyatları, slash əmrləri və hadisələr üçün təlimatlar bu qovluqdadır.

API'nizi yerləşdirdiyinizdə, standart kitabxana avtomatik olaraq hər bir qovluq üçün HTTPS son nöqtələrini (URL) yaradır. Nəticədə əldə edilən URL-lərlə Slacks hərəkətlərini, əyiklərini və hadisələrini izləyən və hərəkət edən veb qarışıqları konfiqurasiya edə bilərik.

Beş qovluğun hamısında (funksiya qovluğu daxil olmaqla) __main __ faylı var. Js (qovluğun əsas son nöqtəsi) quruldu. Bu son nöqtələr__ əsas__. Js Slack-dan bir mesaj aldıqlarında müvafiq funksiyaları göndərir, Slack botumuzdan API-yə zəng vurduğumuz zaman komanda son nöqtəsi göndərilir. İndi bot quruluşumuza qayıdaq!

Addım 4: Standart Kitabxana API-sinizə bir əmr əlavə edin

Əlavə bir əmr yaradın

Komutlar: Komanda kataloqu bütün Slack slash əmrləri üçün son nöqtədir. İmleci əmr qovluğu üzərində hərəkətə gətirərək sağ düyməni basaraq əlavə bir əmr yaradın. Yeni Fayl seçin və slash əmr sənədinizə nextmeetup.js adını verin və Tamam düyməsini basın.

Əmrinizi bildirin

Bu nöqtədə, (__main __. Js) avtomatik olaraq yaradılan "Salam Dünya" JavaScript funksiyasını görəcəksiniz.

Nextmeetup.js məzmununu aşağıdakılarla əvəz edin:

Kodun qısa izahı:

Slack tətbiqinizdən / nextmeetup göndərdiyiniz zaman Meetup API-yə GET sorğusu göndərəcəksiniz.

Meetups API-yə göndərilən hər bir müraciət bir API açarı ilə təsdiqlənməlidir. Bu səbəbdən görüşmə düyməmizi env.json sənədimizdən sorğumuza ötürürük. GET sorğumuzu iki parametr zip və mövzu ilə birlikdə göndəririk.

Meetup API, cavabımızı daxil edərək standart kitabxana qeydlərindəki koddan görə bildiyimiz bir sıra görüşmə hadisəsi obyektlərini qaytarır: console.log (response.data). Qeydlər nişanı Hata Ayıklama hissəsinin altında yerləşir.

Answer.data, sorğunuzla uyğun gələn bir sıra hadisələrdir və hər hadisə üçün iki əlavə (biri yer üçün, digəri də məlumat üçün) yaratmaq istəyirik. Hər hadisə üçün zəng edə biləcəyimiz formatAttachement adlı bir funksiyamız var. Nəticələr Slack-a göndərilən Əlavələr adlı bir massivə yerləşdirilir.

Kodu kopyalayıb nextmeetup.js faylınıza yapışdırdıqdan sonra dəyişiklikləri qeyd edin və sol çubuq menyusunda env.json faylına keçin.

Addım 5: env.json dosyanızı tətbiq etimadnaməsi və açarları ilə doldurun

Env.json faylı API üçün mühit dəyişənlərini ehtiva edir. Yerli mühitlər, inkişaf mühitləri və azad mühitlər (istehsal mühitləri) üçün fərqli dəyərlər təyin edə bilərsiniz. Bu faylda standart kitabxana hesabınız, Meetup hesabınız və Slack tətbiqi üçün giriş məlumatlarınız üçün bütün unikal giriş açarlarınız var.

Yalnız "dev" mühit dəyişkənlərində dəyişiklik edəcəyik - düzgün dəsti dəyişdirdiyinizə əmin olun! "Dev" dəyərlərinin inkişaf mühitinizə aid olduğunu və "buraxma" dəyərlərinin yalnız tətbiqinizi buraxmağa hazır olduğunuzda doldurulmasını unutmayın. Standart kitabxanada koddan təmin edildikdə "lokal" dəyişənlər boş qala bilər, lakin olmalıdır, əmr satırı alətləri ilə işləyərkən doldurulur.

"STDLIB_TOKEN" dəyişənini daxil edərək başlayaq. Kursoru dırnaq işarələri arasına qoyun (ekrana baxın) və ya sağ basın və Kitabxana işarəsini əlavə et seçin ... və ya klaviatura qısa yolundan istifadə edin.

Kitabxana nişanını seçin

"Dev" sahəsini doldurmaq üçün Kitabxana Nişanını seçin.

İndi Slack tətbiqetməyiniz üçün əsas məlumat səhifəsinə qayıdın və Tətbiq etimadnaməsinə endirin:

Müştəri şəxsiyyət vəsiqənizi, müştəri sirrinizi və təsdiqləmə nişanını kopyalayın. Onları env.json faylının bölməsindəki müvafiq sahələrə yapışdırın.

Slack tətbiqinizə theSLACK_APP_NAME üçün verdiyiniz adı əlavə edin.

Misal: SLACK_APP_NAME: Meetup-Bot

SLACK_REDIRECT dəyəri, API yerləşdirən kimi standart kitabxana tərəfindən yaradılan bir https son nöqtəsidir. Hələ tətbiq etməmiş olsaq da, indi bu quruluşla doldurun. https: // .api.stdlib.com / @ dev / auth / - standart kitabxana istifadəçi adınız və API adınızla. Kodu təqdim etdikdən sonra bu dəyəri düzgün doldurduğunuzu təsdiqləmək üçün geri qayıda bilərsiniz.

Mənim SLACK_REDIRECT belə görünür: https://Janethl.api.stdlib.com/[email protected]/auth/ - Sonda bir əyri ilə identifikasiya yolunu əlavə etdiyinizə əmin olun.

Slack tətbiqinizin funksiyaları və icazələri artıq aşağıdakı sahələrdə qurulub:

“SLACK_OAUTH_SCOPE”: bot, əmrlər, söhbət: yaz: bot, söhbət: yaz: istifadəçi, sənədlər: yaz: istifadəçi, kanallar: tarix

Əlavə etməyiniz lazım olan son dəyişən sizin Meetup API açarınızdır. Meetup üçün hər istəyin API açarı ilə təsdiqlənməsi lazımdır.

Addım 6: Meetup API açarınızı əldə edin

Giriş edin və ya bir Meetup.com hesabı yaradın. Unikal API açarınızı almaq üçün https://secure.meetup.com/meetup_api/key/ saytına daxil olun. API açarınıza baxmaq və kopyalamaq üçün kilidi vurun.

Standart Kitabxanadakı env.jsonfile sənədinizə qayıdın. Görüş düyməsini şəkildəki kimi bir "açar" dəyəri əlavə edin:

Dəyişiklikləri "⌘ + s" ilə saxladığınızdan əmin olun (və ya sağ alt küncdə "Saxla" düyməsini vurun).

__Main__ faylı yan paneldəki menyu qələmində yerləşir. Hadisə kataloqu altındakı Js. Slack tətbiqinizin kodunu "Çalıştır" düyməsinə basaraq Standart Kitabxanada yerləşdirin.

  • Kodunuzu yerləşdirdikdən qısa müddət sonra, standart kitabxana kodunuzun yerləşəcəyi bir HTTPS API son nöqtəsi URL-i yaradacaqdır. Bu ünvan sizindir .api.stdlib.com, ardından API'nizi ərazidə verdiyiniz ad: https://janethl.api.stdlib.com/[email protected]/

Artıq Slack tətbiqimizdən Meetup API-yə mesaj göndərmək və qəbul etmək üçün istifadə edə biləcəyimiz URL var. İndi URL-nizi Slack-də bir webhook olaraq təyin etməliyik. Beləliklə, Slack tətbiqetmə panelinə qayıdaq

Adım 7: yeni bir slash əmri yaradın və bir webhook təyin edin

İndi Slack tətbiqimizi bir eğik əmrinə (/) cavab verəcək şəkildə qurmalıyıq. Bunu etmək üçün Slacks API səhifəsində bir webhook qurmalıyıq.

Webhook nədir?

Bəlkə webhookun nə olduğunu API ilə müqayisə edərək başa düşə bilərik. API tələblərə əsaslanır. Bu, üçüncü tərəf tətbiqetməsindən bir istək edildikdə çalışacaqları deməkdir. Bir webhook hadisə əsaslıdır. Kod müəyyən bir hadisə onu işə saldıqda işləyir.

Bir webhook qurmaq üçün bir xidmət təminatçısı istehlakçılarına hadisə baş verdikdə məlumat göndərmək üçün provayderin istifadə edə biləcəyi bir URL qeyd etməsinə icazə verməlidir. Bu nümunədə URL adresimizi qeyd etmək üçün Slack istifadə edə bilərik. Eğik qeyd olunduqdan sonra URL-də olan kodu yerinə yetirən veb hookumuz işə salına bilər.

İndi bunu başa düşdük, veb hookumuzu qurmaq üçün Slack'in API səhifəsinə keçək. Kenar çubuğu menyusundan slash əmrlərini tapın və seçin.

"Yeni Komanda Yarat" düyməsini vurduqdan sonra əmr detallarınız istənəcəkdir. Bu nümunə üçün aşağıdakılardan istifadə edin:

Komanda: / nextmeetup

İstəkURL: https: // .api.stdlib.com / @ dev / commands /: bg

Qısa təsvir: görüşmə hadisələrini alır

İstifadəyə dair qeyd: [ & ]

İşi bitirdikdən sonra "Saxla" düyməsini basın.

Addım 8: OAuth və İcazələri aktivləşdirin

Slack tətbiqinizə qayıdın. Kenar çubuğu menyusunda OAuth & Permmissions düyməsini vurun.

Orada belə yönləndirmə urlini daxil etmək istəyirsiniz: https: // .api.stdlib.com / @ dev / auth /

"Əlavə et" və "URL'ləri saxla" düymələrini basın.

Bu yönləndirmə URL, env.json sənədində Standart Kitabxanadakı Kod altında təyin etdiyimiz URL ilə uyğun olmalıdır.

Adım 9: Slack tətbiqinizə bir bot əlavə edin

Slack App səhifəsinə qayıdın və sol kenar çubuğunda Bot İstifadəçilərini vurun. Bot İstifadəçisi əlavə et vurun. Varsayılan parametrləri saxlayın.

Bir bot istifadəçisi əlavə edin

Son addım tətbiqetməyə icazə verməkdir. Brauzerinizə aşağıdakıları daxil edin: https: // .api.stdlib.com / @ dev /

Yavaşlığa əlavə et düyməsini vurun. Başqa bir icazə ekranına aparılacaqsınız.

İcazə vurun. Bir uğur mesajı görməlisiniz!

Adım 10: Slack Meetup tətbiqetmənizi sınayın

Bitirdiniz Yoxla! Slack tətbiqiniz artıq icazə verdiyiniz Slack iş yerində istifadəyə hazırdır. Slack tətbiqiniz a / nextmeetup <94709> & yuxarıdakı ekran görüntüsündə göstərildiyi kimi cavab verin.

Budur və təşəkkür edirəm!

Bu təlimatı faydalı tapdığınızı ümid edirəm. Burda şərh yazsanız, Janeth [at] stdlib [dot] com-a e-poçt göndərsəniz və ya Twitter-dakı Standart Kitabxananı @StdLibHQ-dan izləsəniz çox istərdim.

Janeth Ledezma, Standart Kitabxana və Cal grad-go ayılarının tərtibatçısıdır! Ərəb dilini öyrənmirsə və ya tətbiq etmirsə, CBR500R-də NorCal-ı kəşf edə bilər. Journey Twitter-də Standart Kitabxana ilə səyahətini izləyin @ mss_ledezma.