https://szkolazpieklarodem.pl/
Utwórz nowy plik o nazwie slack.py w katalogu swojego projektu. Zawartość pliku slack.py będzie wyglądać następująco:
from rasa_core.channels.slack import SlackInput
from rasa_core.agent import Agent
from rasa_core.interpreter import RasaNLUInterpreter
import os
from rasa_core.utils import EndpointConfig
# load your trained agent
interpreter = RasaNLUInterpreter(“models/nlu/default/horoscopebot/”)
MODEL_PATH = “models/dialogue”
action_endpoint = EndpointConfig(url=”https://horoscopebot1212-actions.
herokuapp.com/webhook”)
agent = Agent.load(MODEL_PATH, interpreter=interpreter, action_
endpoint=action_endpoint)
input_channel = SlackInput(
slack_token=”YOUR_SLACK_TOKEN”,
# this is the `bot_user_o_auth_access_token`
slack_channel=”YOUR_SLACK_CHANNEL”
# the name of your channel to which the bot posts (optional)
)
# set serve_forever=False if you want to keep the server running
s = agent.handle_channels([input_channel], int(os.environ.get(‘PORT’,
5004)), serve_forever=True)
Podstawową różnicą między facebook.py i slack.py jest utworzony przez nas obiekt input_channel. Rasa udostępnia różne wbudowane kanały, takie jak Facebook, Slack, Mattermost, Telegram, Twilio, RocketChat i Microsoft Bot Framework, których możemy bezpośrednio używać do łatwego wdrażania tego samego bota na różnych kanałach. Jak widać, musimy dodać slack_token i slack_channel do naszego skryptu. Ponieważ musieliśmy stworzyć aplikację na Facebooku na platformie deweloperskiej Facebooka, podobnie będziemy musieli stworzyć aplikację na Slacku. Zróbmy to krok po kroku:
1. Przejdź do tego adresu URL https://api.slack.com/slack-apps i kliknij przycisk „Utwórz aplikację”. Patrz rysunek
- Kolejnym krokiem jest utworzenie Użytkownika-Bota. Aby utworzyć użytkownika bota, kliknij Boty w sekcji „Dodaj funkcje i funkcjonalność”. Na nowej stronie pojawi się opcja „Dodaj użytkownika bota”. Sprawdź rysunekby zobaczyć, jak dodać szczegóły i dodać użytkownika bota.
- Podaj szczegóły dotyczące chatbota, który budujesz. Nazwa wyświetlana może być dowolna; domyślna nazwa użytkownika musi być unikalna; możesz pozwolić, żeby było tak, jak jest. Przełączenie ostatniej opcji, aby zawsze pokazywać mojego bota jako online, powoduje, że bot jest zawsze dostępny jako użytkownik. Do tego właśnie służą chatboty — ludzie nie mogą być dostępni 24 godziny na dobę, 7 dni w tygodniu, ale chatboty mogą, dlatego włączamy tę funkcję. Pamiętaj, aby kliknąć przycisk Zapisz zmiany.
- Wróć do zakładki „Informacje podstawowe”. Kliknij „Zainstaluj aplikację w swoim obszarze roboczym”. Aplikacja poprosi o potwierdzenie tożsamości. Autoryzuj ją tak, jak robisz to w przypadku każdej innej aplikacji. Sprawdź Rysunek , który pokazuje, jak wyglądałaby autoryzacja.
Zakładkę Boty i uprawnienia znajdziesz w sekcji „Dodaj funkcje i funkcjonalność” z zielonym znacznikiem wyboru, co oznacza, że nasz bot i aplikacja są dobrze zintegrowane. To znak, że jak dotąd radzimy sobie dobrze.
- Przejdź do sekcji OAuth i uprawnienia i skopiuj użytkownika bota
Token dostępu OAuth.
- Wklej skopiowany token do naszego skryptu Pythona slack.py. Nadaj nazwę kanałowi, jak chcesz. Jeśli chcesz, aby Twój bot publikował posty na kanale, możesz podać nazwę kanału. Dałem @slackbot. Jeśli nie ustawisz argumentu słowa kluczowego slack_channel, wiadomości zostaną dostarczone z powrotem do użytkownika, który je wysłał.