Izveidojiet šo vieglo robotprogrammatūru un piešķiriet savam kanālam draudzīgāku noskaņu.
Sveicot jaunus lietotājus savā kanālā, viņi jūtas kā mājās, taču sekot līdzi katram lietotājam, kurš pievienojas, var būt nogurdinošs uzdevums. Šeit darbojas Slack viesmīlības robots. Bots katram jaunajam kanāla lietotājam nosūta personalizētu sveiciena ziņojumu. Tas vienmēr ir tiešsaistē, tāpēc nebūs vēlu sveiciena ziņojumu.
Jūs uzzināsit, kā iestatīt robota akreditācijas datus, klausīties notikumus Slack un nosūtīt ziņojumus atpakaļ lietotājiem.
Slack Bot izveide un tā API marķiera iegūšana
Izveidot a Slack konts vai piesakieties savā esošajā. Pēc tam izveidojiet a jauna Slack darbvieta lai pārbaudītu robotu pirms tā instalēšanas aktīvajā darbvietā.
Piesakieties savā jaunajā darbvietā. Slack automātiski izveido nejaušu un vispārīgu kanālu.
Ievērojiet sadaļu Lietotne darbvietas apakšējā kreisajā stūrī. Šeit tiks parādīts mūsu robots, kad to izveidosit. Dodieties uz Slack API vietne.
Klikšķiniet uz Izveidojiet lietotni. Izveidojiet lietotni No nekā parādītajā logā.
Nosauciet savu lietotni un atlasiet darbvietu, kurā vēlaties to izstrādāt.
Pēc tam noklikšķiniet uz Izveidot lietotni pogu. Noklikšķinot, jūs tiksit novirzīts uz lapu, kurā ir ietverta jūsu lietotnes pamatinformācija. Ņemiet vērā parakstīšanas noslēpumu zem lietotnes akreditācijas datiem. Jūsu robots izmantos parakstīšanas noslēpumu, lai pārbaudītu, vai notikums ir nācis no Slack un vai pārsūtīšanas laikā tas nav bojāts.
Dodieties uz OAuth un atļauju funkciju.
Sadaļā OAuth un atļaujas dodieties uz Bot Token Scopes. Šeit jūs pievienosit atļaujas tam, ko jūsu robots var darīt jūsu darbvietā. Pievienojiet lietotāji: lasīt darbības jomu. Šis tvērums ļaus jūsu robotam skatīt cilvēkus jūsu darbvietā. Tāpat pievienojiet tērzēšana: rakstiet tvērums, kas ļaus jūsu robotam nosūtīt ziņojumus uz darbvietu.
Pārejiet atpakaļ uz sava robota pamatinformāciju un noklikšķiniet uz Instalējiet darbvietā.
Nākamajā parādītajā lapā noklikšķiniet uz atļaut. Tagad esat pabeidzis robota instalēšanu savā darbvietā. Pārejiet uz funkciju OAuth un atļaujas. Ņemiet vērā robota lietotāja OAuth pilnvaru, ko Slack ģenerē pēc instalēšanas. Robots būs redzams jūsu darbvietas lietotņu sadaļā.
Tagad esat instalējis robotu savā darbvietā, varat rakstīt kodu, lai to kontrolētu.
Vides sagatavošana
Jums ir jāpārzina Python pamati sekot šiem koda paraugiem.
Izveidojiet jaunu virtuālo vidi un a .env failu. Jūs izmantosiet .env failu, lai saglabātu savu pilnvaru un parakstīšanas noslēpumu, kas jums ir jāpatur privāti. Jūs nedrīkstat augšupielādēt .env failu nevienā publiskā platformā.
Lai instalētu nepieciešamās bibliotēkas, terminālī izpildiet šo komandu:
pip instalējiet slack-sdk pathlib dotenv flask slackeventsapi
Bibliotēka slack-sdk nodrošinās jums rīkus Slack lietotņu un integrāciju izveidei, tostarp API metodes, Web API klientus un OAuth. pathlib un dotenv palīdzēs ielādēt vides mainīgos. kolba palīdzēs jums apstrādāt HTTP pieprasījumus un atbildes. slackeventsapi nodrošinās jūs ar notikumu klausītāju, kas saņem un apstrādā notikumus no Slack.
Pilns avota kods ir pieejams a GitHub repozitorijs.
Nepieciešamo bibliotēku importēšana
Izveidojiet jaunu Python failu un sāciet, importējot iepriekš instalētās bibliotēkas, lai savā kodā varētu izmantot to funkcionalitāti.
imports slack_sdk kā vaļīgs
imports os
no pathlib imports Ceļš
no dotenv imports load_dotenv
no kolba imports Kolba
no slackeventsapi imports SlackEventAdapter
Python operētājsistēmas modulis nāk ar valodu, tāpēc jums tā nav jāinstalē. SlackEventAdapter ir klase no slackeventsapi moduļa, kas apstrādā notikumus no Slack API.
Slack Bot iestatīšana
Izveidojiet divus mainīgos .env failā. Nosauciet vienu SLACK_BOT_TOKEN un piešķiriet tam robota lietotāja OAuth pilnvaru. Piešķiriet otram nosaukumu SLACK_SIGNING_SECRET un piešķiriet tam parakstīšanas noslēpumu. Atgriezieties Python failā un izveidojiet Flask objektu. Pēc tam ielādējiet vides mainīgos no .env faila, izmantojot dotenv moduļa funkciju load_dotenv.
lietotne = Kolba (__name__)
env_path = Ceļš('.') / ".env"
load_dotenv (dotenv_path=env_path)
Izveidojiet slack_event_adapter gadījumu. Tas apstrādās notikumus no Slack API, izmantojot vides mainīgo SLACK_SIGNING_SECRET, lai autentificētu pieprasījumus.
slack_event_adapter = SlackEventAdapter (os.environ["SLACK_SIGNING_SECRET"],
'/slack/events', lietotne)
/slack/events ir galapunkts, ko Slack API izmantos notikumu sūtīšanai.
Izveidojiet WebClient gadījumu, kas nosūtīs ziņojumus uz Slack API. Veiciet API zvanu, lai izgūtu robota ID.
klients = atslābums. WebClient (token=os.environ["SLACK_BOT_TOKEN"])
BOT_ID = client.api_call("auth.test")['Lietotāja ID']
Iestatiet ziņojumu, ko nosūtīsit jaunajiem lietotājiem, kuri pievienojas kanālam. Inicializējiet tukšu kopu, kas sekos gaidītajiem lietotājiem.
APSVEIKUMS_ZIŅOJUMS = "Sveiki, {user_name}, laipni lūdzam {channel_name}" \
"kanāls! Mēs esam priecīgi, ka esat šeit."
welcomed_users = set()
Jūs varat pielāgot sveicienu pēc saviem ieskatiem.
Funkcijas izveide, lai apstrādātu notikumu “Dalībnieks pievienojās kanālam”.
Iestatiet notikumu klausītāju. Tas klausīsies dalībnieka_joined_channel notikumu.
@slack_event_adapter.on('member_joined_channel')
Definējiet funkciju, kuru izsauksiet, kad lietotājs pievienosies kanālam. Izmantojiet šo funkciju, lai no notikuma datiem izvilktu lietotāja ID un kanāla ID. Pārbaudiet, vai lietotājs ir jauns kanālā. Ja nē, iegūstiet informāciju par lietotāju un kanālu, izmantojot WebClient klasi. Izveidojiet personalizētu sveiciena ziņojumu. Nosūtiet sveicienu kanālam
defhand_member_joined_channel(notikuma_dati):
lietotāja_id = notikuma_dati['pasākums']['lietotājs']
kanāla_id = notikuma_dati['pasākums']['kanāls']# Nosūtiet sveiciena ziņojumu tikai tad, ja lietotājs ir jauns
ja Lietotāja ID nēiekšā welcomed_users:
welcomed_users.add (lietotāja_id)user_info = client.users_info (user=user_id)
lietotājvārds = lietotāja_informācija['lietotājs']['vārds']kanāla_informācija = klients.sarunas_informācija (kanāls=kanāla_id)
kanāla_nosaukums = kanāla_informācija['kanāls']['vārds']sveiciens = APSVEIKUMA_ZIŅOJUMS.format (lietotāja_vārds=lietotāja_vārds,
kanāla_nosaukums=kanāla_nosaukums)
client.chat_postMessage (kanāls=kanāla_id, teksts=sveiciens)
Event_data satur visu informāciju par notikumu, kurā lietotājs ir pievienojies kanālam.
Palaidiet lietotni Flask un palaidiet skriptu. Ja palaist kā galveno programmu (nav importēta kā modulis), palaidiet atkļūdošanas režīmā un klausieties portā 5000.
ja __nosaukums__ == "__galvenais__":
app.run (debug=Taisnība, ports=5000)
Atkļūdošanas režīms automātiski atkārtoti ielādē lietojumprogrammu, kad veicat izmaiņas kodā. Neizmantojiet atkļūdošanas režīmu ražošanas vidē, jo tas var atklāt sensitīvu informāciju un padarīt jūsu lietojumprogrammu neaizsargātu pret uzbrukumiem. Palaidiet savu lietotni. Tas darbosies kā vietējais serveris portā 5000.
Loģikas savienošana ar robotu
Pēc loģikas izveides jums ir jāizveido savienojums ar robotu savā darbvietā. Tas ļaus tai izmantot šo loģiku, lai veiktu darbības jūsu darbvietā. Sāciet ar lejupielādi un palaišanu Ngrok. Ngrok palīdzēs jums pakļaut vietējo tīmekļa serveri internetam.
Pēc tās palaišanas izmantojiet šo komandu, lai kartētu vietējā servera adresi ar Ngrok adresi.
ngrok http 500
Kopējiet Ngrok adresi, kas tiek kartēta uz jūsu vietējo saimniekdatoru.
Dodieties uz Slack API vietni. Saskaņā Pasākumu abonementi funkciju, iespējot notikumus. Zem Pieprasīt URL ievadiet Ngrok adresi, kam seko /slack/events. Tas norādīs uz jūsu galapunktu.
Pēc tam abonējiet notikumu member_joined_channel. Tas paziņos jūsu robotam katru reizi, kad lietotājs pievienosies kanālam. Klikšķiniet uz Saglabāt izmaiņas. Slack automātiski pievienos tvērumus, kas jums nepieciešami, lai abonētu šo notikumu. Katru reizi, kad maināt darbības jomu, jums būs atkārtoti jāinstalē lietotne darbvietā.
Noklikšķiniet uz atkārtoti instalēt lietotni.
Jūsu robota pārbaude
Dodieties uz savu darbvietu. Dodieties uz kanālu, kurā vēlaties izmantot robotprogrammatūru. Nosūtiet tiešu ziņojumu robotam. Piemēram, @Welcoming Bot. Tiks parādīts uzvedne pievienot botu kanālam. Noklikšķiniet uz pievienot.
Tagad katru reizi, kad kanālam pievienojas jauns lietotājs, robots nosūtīs sveiciena ziņojumu.
Augšējā attēlā redzams, ka robots sveic jaunu lietotāju kanālā.
Izmantojiet visas brīvās darbvietas iespējas
Slack robotprogrammatūra nav vienīgais veids, kā paplašināt Slack ziņojumapmaiņas platformas funkcionalitāti. Otra metode ir trešo pušu rīku integrēšana ar Slack. Tie nodrošina papildu funkcionalitāti platformā.
Iepazīstieties ar šīm integrācijām, jo tās palielinās jūsu produktivitāti Slack.