Направите овог опуштеног бота и дајте свом каналу пријатнију атмосферу.

Поздрављајући нове кориснике на вашем каналу, они се осећају као код куће, али праћење сваког корисника који се придружи може бити заморан задатак. Ту долази Слацк бот добродошлице. Бот шаље персонализовану поруку добродошлице сваком новом кориснику канала. Увек је на мрежи, па неће бити касних порука добродошлице.

Научићете како да подесите акредитиве свог бота, слушате догађаје у Слацк-у и шаљете поруке назад корисницима.

Креирање Слацк бота и добијање његовог АПИ токена

Створити Слацк налог или се пријавите у свој постојећи. Затим креирајте а нови Слацк радни простор да тестирате свог бота пре него што га инсталирате у свој активни радни простор.

Пријавите се у свој нови радни простор. Слацк аутоматски креира насумичан и општи канал за вас.

Обратите пажњу на одељак Апликација у доњем левом углу радног простора. Овде ће се појавити наш бот када га креирате. Идите до Слацк АПИ веб локација.

Кликните на Направите апликацију. Креирајте апликацију Од нуле у прозору који се појави.

instagram viewer

Именујте своју апликацију и изаберите радни простор у којем желите да је развијете.

Затим кликните на Креирајте апликацију дугме. Клик ће вас преусмерити на страницу која садржи основне информације о вашој апликацији. Обратите пажњу на тајну потписивање под акредитивима апликације. Ваш бот ће користити тајну потписивања да би потврдио да је догађај дошао из Слацк-а и да није мењан током преноса.

Идите на функцију ОАутх и дозволе.

У одељку ОАутх и дозволе идите до Опсези токена бота. Овде ћете додати дозволе за оно што ваш бот може да ради у вашем радном простору. Додајте корисници: прочитајте Обим. Овај опсег ће омогућити вашем боту да види људе у вашем радном простору. Такође, додајте цхат: писати опсег који ће омогућити вашем боту да шаље поруке радном простору.

Вратите се на основне информације вашег бота и кликните Инсталирај у радни простор.

Кликните на дозволи на следећој страници која се појави. Сада сте завршили са инсталирањем бота у свој радни простор. Идите до функције ОАутх и дозволе. Обратите пажњу на Бот Усер ОАутх Токен који Слацк генерише након инсталације. Бот ће бити видљив у одељку апликација вашег радног простора.

Сада када сте инсталирали бота у свој радни простор, можете написати код да га контролишете.

Припрема вашег окружења

Морате бити упознати са основе Пајтона да прати ове узорке кода.

Креирајте ново виртуелно окружење и а .енв фајл. Користићете .енв датотеку за чување токена и тајне за потписивање, коју морате да чувате приватно. Не би требало да отпремате .енв датотеку ни на једну јавну платформу.

Покрените следећу команду у терминалу да бисте инсталирали потребне библиотеке:

пип инсталл слацк-сдк патхлиб дотенв фласк слацкевентсапи

Слацк-сдк библиотека ће вам пружити алате за прављење Слацк апликација и интеграција, укључујући АПИ методе, Веб АПИ клијенте и ОАутх. патхлиб и дотенв ће вам помоћи да учитате променљиве окружења. фласк ће вам помоћи да рукујете ХТТП захтевима и одговорима. слацкевентсапи ће вам обезбедити слушалац догађаја који прима и управља догађајима из Слацка.

Комплетан изворни код је доступан у а ГитХуб спремиште.

Увоз потребних библиотека

Направите нову Питхон датотеку и започните увозом библиотека које сте претходно инсталирали, тако да можете да користите њихову функционалност у свом коду.

увоз слацк_сдк као млитавост
увоз ос
из патхлиб увоз Пут
из дотенв увоз лоад_дотенв
из пљоска увоз Фласк
из слацкевентсапи увоз СлацкЕвентАдаптер

Питхон ОС модул долази са језиком, тако да не морате да га инсталирате. СлацкЕвентАдаптер је класа из модула слацкевентсапи која рукује догађајима из Слацк АПИ-ја.

Подешавање Слацк бота

Направите две променљиве у .енв датотеци. Именујте један СЛАЦК_БОТ_ТОКЕН и доделите му ОАутх токен корисника бота. Именујте другу СЛАЦК_СИГНИНГ_СЕЦРЕТ и доделите јој тајну за потписивање. Вратите се на Питхон датотеку и креирајте Фласк објекат. Затим учитајте променљиве окружења из .енв датотеке користећи функцију лоад_дотенв из дотенв модула.

апп = Фласк (__наме__)
енв_патх = Путања('.') / '.енв'
лоад_дотенв (дотенв_патх=енв_патх)

Креирајте инстанцу слацк_евент_адаптер. Он ће руковати догађајима из Слацк АПИ-ја, користећи променљиву окружења СЛАЦК_СИГНИНГ_СЕЦРЕТ за аутентификацију захтева.

слацк_евент_адаптер = СлацкЕвентАдаптер (ос.енвирон['СЛАЦК_СИГНИНГ_СЕЦРЕТ'],
'/слацк/евентс', апликација)

/слацк/евентс је крајња тачка коју ће Слацк АПИ користити за слање догађаја.

Направите ВебЦлиент инстанцу која ће слати поруке Слацк АПИ-ју. Позовите АПИ да бисте преузели ИД бота.

клијент = застој. ВебЦлиент (токен=ос.енвирон['СЛАЦК_БОТ_ТОКЕН'])
БОТ_ИД = цлиент.апи_цалл("аутх.тест")['ИД корисник']

Подесите поруку коју ћете слати новим корисницима који се придруже каналу. Иницијализирајте празан скуп који ће пратити добродошле кориснике.

ГРЕЕТИНГ_МЕССАГЕ = „Здраво {усер_наме}, добродошли на {цханнел_наме}“ \
„канал! Узбуђени смо што сте овде."
добродошли_усерс = сет()

Поздрав можете прилагодити по свом укусу.

Креирање функције за руковање догађајем „Мембер Јоинед Цханнел“.

Подесите слушалац догађаја. Слушаће догађај мембер_јоинед_цханнел.

@слацк_евент_адаптер.он('мембер_јоинед_цханнел')

Дефинишите функцију коју ћете позвати када се корисник придружи каналу. Користите функцију да издвојите ИД корисника и ИД канала из података догађаја. Проверите да ли је корисник нов на каналу. Ако није, добијте информације о кориснику и каналу користећи класу ВебЦлиент. Направите персонализовану поздравну поруку. Пошаљите поздрав каналу

дефхандле_мембер_јоинед_цханнел(подаци_догађаја):
усер_ид = догађај_подаци['догађај']['корисник']
канал_ид = подаци_догађаја['догађај']['канал']

# Пошаљи поруку добродошлице само ако је корисник нов
ако ИД корисник неин добродошли_корисници:
велцомед_усерс.адд (усер_ид)

усер_инфо = цлиент.усерс_инфо (усер=усер_ид)
усер_наме = усер_инфо['корисник']['име']

цханнел_инфо = цлиент.цонверсатионс_инфо (цханнел=цханнел_ид)
назив_канала = информације о каналу['канал']['име']

греетинг = ГРЕЕТИНГ_МЕССАГЕ.формат (усер_наме=усер_наме,
цханнел_наме=цханнел_наме)

цлиент.цхат_постМессаге (цханнел=цханнел_ид, тект=греетинг)

Евент_дата садржи све информације о догађају у којем се корисник придружио каналу.

Покрените апликацију Фласк и покрените скрипту. Ако се покрене као главни програм (није увезен као модул), покрените у режиму за отклањање грешака и слушајте на порту 5000.

ако __наме__ == "__главни__":
апп.рун (дебуг=Истина, порт=5000)

Режим за отклањање грешака аутоматски поново учитава апликацију када унесете промене у код. Немојте користити режим за отклањање грешака у производном окружењу, он може изложити осетљиве информације и учинити вашу апликацију рањивом на нападе. Покрените своју апликацију. Радиће као локални сервер на порту 5000.

Повезивање логике са вашим ботом

Након што сте креирали логику, сада морате да се повежете са ботом у свом радном простору. Ово ће му омогућити да користи ову логику за обављање операција у вашем радном простору. Започните преузимањем и покретањем Нгрок. Нгрок ће вам помоћи да изложите свој локални веб сервер интернету.

Након што га покренете, користите следећу команду да мапирате адресу вашег локалног сервера на адресу Нгрока.

нгрок хттп 500

Копирајте Нгрок адресу која се мапира на ваш локални домаћин.

Идите на веб локацију Слацк АПИ. Под Претплате на догађаје функција, омогући догађаје. Испод УРЛ захтева унесите Нгрок адресу након чега следи /slack/events. Ово ће указати на вашу крајњу тачку.

Затим се претплатите на догађај мембер_јоинед_цханнел. Ово ће обавестити вашег бота сваки пут када се корисник придружи каналу. Кликните на Сачувај измене. Слацк ће аутоматски додати опсеге који су вам потребни да се претплатите на овај догађај. Сваки пут када промените опсег, мораћете поново да инсталирате апликацију у радном простору.

Кликните на поново инсталирајте своју апликацију.

Тестирање вашег бота

Идите у свој радни простор. Идите на канал који желите да користите бот. Пошаљите директну поруку боту. На пример @Велцоминг Бот. Појавиће се упит за додавање бота на канал. Кликните на додај.

Сада, сваки пут када се нови корисник придружи каналу, бот ће послати поруку добродошлице.

Слика изнад приказује бот који поздравља новог корисника на каналу.

Искористите свој радни простор на најбољи начин

Слацк ботови нису једини начин да се прошири функционалност Слацк платформе за размену порука. Други метод је интеграција алата трећих страна са Слацк-ом. Они пружају додатну функционалност унутар платформе.

Упознајте се са овим интеграцијама јер ће повећати вашу продуктивност у Слацк-у.