Führen Sie den Chatbot mit Docker in einer lokalen Umgebung aus Ich habe versucht, mit Slack zu interagieren.
Ich war besorgt über GitHubs Hubot und Rubys Lita. Es war mühsam, CoffeeScript zu lesen und sich auf Redis vorzubereiten. Ich habe Errbot gewählt, das in Python geschrieben ist und am einfachsten zu sein scheint. Ich glaube nicht, dass es einen großen Unterschied im Gefühl einer schnellen Umfrage gibt.
In jeder Umgebung, in der der Docker-Container funktioniert, gibt es kein Problem. Ich baue es auf meinem lokalen PC mit Docker für Mac.
Vor dem Erstellen eines Slackbot ist eine Teamvorbereitung erforderlich.
Erstellen Sie einen Container, in dem Python Version 3.3 und höher ausgeführt wird. Um Arbeit zu sparen, habe ich Alpine Linux mit Python verwendet.
FROM python:3.5.2-alpine
#apk update
RUN apk update
#Installation der zur Installation von Errbot erforderlichen Pakete
RUN apk add gcc g++ libffi-dev openssl-dev
#Installieren Sie die für die Entwicklung erforderlichen Pakete nach Ihren Wünschen
RUN apk add vim bash
Geben Sie Folgendes in das Verzeichnis ein, das die Docker-Datei enthält, um den Container zu starten.
Container starten
#Generieren Sie ein Bild aus einer Docker-Datei mit dem Namen bot
$ docker build -t bot .
#Starten Sie das Bot-Image und/bin/lauf sh
$ docker run -it bot /bin/sh
Verwenden Sie pip
, um die erforderlichen Pakete zu installieren.
Für die Kommunikation zwischen dem Hauptteil von Errbot und Slack ist ein "Slack Client" erforderlich.
Paketinstallation
$ pip install errbot slackclient
Wenn Sie fertig sind, überprüfen Sie, ob Sie es erfolgreich installiert haben. Es kommt auf eine gute Anzahl von Paketen an ...
Überprüfen Sie das Paket
$ pip freeze
ansi==0.1.3
beautifulsoup4==4.5.1
bottle==0.12.9
cffi==1.8.3
colorlog==2.7.0
cryptography==1.5.2
daemonize==2.4.7
dnspython==1.14.0
dnspython3==1.14.0
errbot==4.3.3
idna==2.1
Jinja2==2.8
Markdown==2.6.7
MarkupSafe==0.23
pyasn1==0.1.9
pycparser==2.14
Pygments==2.1.3
pygments-markdown-lexer==0.1.0.dev39
pyOpenSSL==16.1.0
requests==2.11.1
rocket-errbot==1.2.5
six==1.10.0
slackclient==1.0.2
threadpool==1.3.2
waitress==1.0.0
WebOb==1.6.1
websocket-client==0.37.0
WebTest==2.0.23
Yapsy==1.11.223
Versuchen Sie nach erfolgreicher Installation, [Erstausführung] auszuführen (http://errbot.io/en/latest/user_guide/setup.html#first-run). Initialisieren Sie das Projektverzeichnis mit dem folgenden Befehl.
Projektinitialisierung
$ mkdir ~/errbot-root
$ cd ~/errbot-root
$ errbot --init
Es wurden mehrere Dateien erstellt, um den Bot zu konfigurieren und auszuführen.
Beginnen wir sofort mit "errbot" auf der Konsole.
Wenn Sie > >>
sehen, geben Sie ! Tryme
ein.
Sie sollten eine Antwort vom Bot erhalten.
Auf der Konsole ausführen
$ errbot
>>> !tryme
It works !
Anscheinend stellt Errbot dem Bot die Anweisungen mit "!" Vor.
Öffnen Sie die Seite hier und wählen Sie "Benutzerdefinierte Integration erstellen".
Wählen Sie Bots erstellen.
Geben Sie einen Namen für Ihr Bot-Konto ein und klicken Sie auf "Bot-Integration hinzufügen".
Das API-Token wird auf dem Bildschirm für das Übergangsziel angezeigt. Notieren Sie es sich.
Damit ist die Erstellung des Bot-Kontos abgeschlossen. Sie sollten in der Lage sein, das von Ihnen erstellte Konto im Feld "DIREKTE NACHRICHTEN" zu finden.
Schreiben Sie config.py
neu, das von errbot --init
erstellt wurde.
Es gibt drei Hauptänderungen. Es gibt kein Problem mit anderen Gegenständen, wie sie sind.
config.py
#BACKEND von Text zu Slack behoben
BACKEND = 'Slack'
#Geben Sie das obige API-Token ein
BOT_IDENTITY = {
'token': 'xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
}
#Geben Sie den Kontonamen des Benutzers, den Sie als Administrator verwenden möchten, in Form eines Fingertipps ein.
BOT_ADMINS = ('@nanakenashi')
Das Token ist zur Erklärung in fester Form geschrieben. Wenn Sie die Quelle mit GitHub usw. verwalten, binden Sie sie in die Umgebungsvariable ein Ich denke, es ist wünschenswert, es mit "os.getenv (" HOGE ")" zu lesen.
Starten Sie Errbot nach dem Speichern erneut. Dieses Mal werde ich eine Daemon-Option hinzufügen.
Starten Sie Errbot
$ errbot --daemon
Sprich mit ! Tryme
,! Help
, ! About
usw. auf Slack.
Es sollte genauso funktionieren wie auf der Konsole.
Wir empfehlen Ihnen, das Bot-Account-Symbol in etwas zu ändern, das Sie lieben können.
Obwohl es ein ziemlicher Testinhalt war Sie können jetzt mit Slacks Bot sprechen.
Weil der wahre Wert von Chatbot die flexible Bewegung zu Anweisungen ist Als nächstes möchte ich diesen Teil (Plug-In) ansprechen.
Recommended Posts