[LINUX] Ich habe versucht, Hubot zu verwenden

Einführung

Dieser Artikel wurde von einem Studenten geschrieben, der JS anstelle eines Memos studiert. Erwarten Sie nicht den Inhalt.

1. Öffnen Sie eine virtuelle Umgebung

Dieses Mal wird es unter Ubuntu gemacht, also starte die virtuelle Umgebung mit iTerm2.

Wo es angefangen hat

  1. Virtuelle Box 2.Vagrant Ubuntu wird in einer virtuellen Umgebung verwendet, die zwei Software verwendet. cd ~/vagrant/ubuntu vagrant up vagrant ssh

Wechseln Sie in das Verzeichnis, in dem Ubuntu installiert ist. vagrant up ist ein Befehl zum Starten von Ubuntu, das auf einem virtuellen PC installiert ist, und vagrant ssh stellt mit dem Vagrant Virtual Machine Set eine Verbindung zu SSH her.

2. Installieren Sie die Module, die zum Erstellen eines Bots erforderlich sind

yo ist ein Tool zum Erstellen von Vorlagen namens Yeoman. Generator-Hubot ist ein Yeoman-Generator (Generator-Hubot) für Hubot. Installieren Sie coffeescript, da Hubot mit JS verarbeitet werden muss.

3. Machen Sie einen Bot

Der obige Inhalt besteht darin, einen Bot mit dem Befehl `` `yo hubot``` zu erstellen und danach slack als Adapter zu verwenden. Wenn Sie mehrere Fragen beantworten können, wird ein Bot-Projekt erstellt.

In Sekunden erledigt.


Wenn es herauskommt, ist es ein Erfolg.

3. Schreiben Sie ein Programm zum Ausführen von Hubot


'use strict';
module.exports = (rbot)=> {
  rbot.hear(/hello>/i, msg => {
    msg.send(`Hi`);
  });

Die erste Zeile enthält eine Beschreibung für die Verwendung von JS im strengen Modus.

In der zweiten Zeile wird module.exports verwendet, um den Wert direkt in einer Variablen namens rbot zu speichern. Mit module.exports können Sie bestimmte Werte aus anderen js-Dateien lesen und wiederverwenden. Der etwas ähnliche Unterschied zum Export besteht darin, dass Sie den Wert direkt speichern können, ohne Eigenschaften festzulegen. Siehe unten für die Beschreibungsmethode.

module.exports.Name des Anwesens=Wert


Die dritte und die folgenden Zeilen sind Modulfunktionen, die als Antwort auf das Wort Hallo hi zurückgeben. Um auf einen bestimmten Inhalt zu reagieren, verwenden Sie die Methoden zum Hören und Antworten (fast zum gleichen Zweck) der Robot-Klasse. Siehe unten für die Beschreibungsmethode.

(Regulärer Ausdruck, den Sie abgleichen möchten,Rückruffunktion, die aufgerufen wird, wenn ein regulärer Ausdruck übereinstimmt)


Verwenden Sie auch Senden und Antworten (fast der gleiche Zweck), um eine Erklärung in einem Chat zu veröffentlichen. Siehe unten für die Beschreibungsmethode. ```send(String);

 Quelle (https://gihyo.jp/dev/serial/01/hubot/0004)

# 4. Versuchen Sie, Hubot zu bewegen
 Versuchen Sie, den Bot mit dem folgenden Befehl zu verschieben. Wenn er korrekt auf die zuvor angegebene Zeichenfolge reagiert, ist er erfolgreich. Danke für deine harte Arbeit!!!!
```bin/hubot

Unten zitiert (https://gihyo.jp/dev/serial/01/hubot/0001)

Was ist ein Bot?

Ein Programm, das sich in einem Chat-Tool befindet, Befehle über den Chat abhört und ausführt und unter bestimmten Bedingungen mit dem Chat spricht, um Chat-Teilnehmer zu benachrichtigen, wird als Bot bezeichnet.

Was ist Hubot?

Es gibt weltweit verschiedene Frameworks zum Erstellen von Bots für jede Entwicklungssprache und jedes Chat-Tool. Zum Beispiel ist Ikachan berühmt dafür, IRC-Bots in Perl zu erstellen, und Twittbot ist berühmt dafür, Twitter-Bots in Webdiensten zu erstellen. Hubot ist ein Framework zum Erstellen und Ausführen von Bots mit Node.js, das von GitHub entwickelt und unter der MIT-Lizenz veröffentlicht wurde. Ein Hauptmerkmal von Hubot ist, dass es verschiedene Chat-Tools unterstützt. Zum Beispiel ist ikachan, das ich bereits erwähnt habe, ein Framework zum Erstellen von Bots für IRC und kann nicht zum Erstellen von Bots für Twitter verwendet werden. Auf der anderen Seite ist twittbot nur für Twitter und Sie können keinen Bot für IRC erstellen. Hubot kann jedoch eine Verbindung zu verschiedenen Chat-Tools herstellen, indem der "Adapter" gewechselt wird, ein Modul, das Hubot- und Chat-Tools verbindet.

Was ist ein Adapter?

Der Adapter spielt die Rolle, den Chat-Status einzugeben, z. B. die Bemerkungen, die jemand vom Chat-Tool in den Roboter gemacht hat, und die vom Skript erstellte Ausgabe an das Chat-Tool zu übertragen. Im Ausgangszustand sind ein Shell-Adapter enthalten, der mit Hubot auf der Shell interagieren kann, und ein Adapter namens Campfire Adapter, der eine Verbindung zu einem Chat-Tool namens Campfire herstellt. Es gibt verschiedene Adapter, die von Dritten bereitgestellt werden. In den meisten Fällen finden Sie daher einen Adapter, der dem von Ihnen verwendeten Chat-Tool entspricht.

Recommended Posts

Ich habe versucht, Hubot zu verwenden
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, BigQuery ML zu verwenden
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe versucht, Rotrics Dex Arm zu verwenden
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe versucht, mit dem Server-Client über tmux zu kommunizieren
Ich habe versucht, mit PyBrain verstärkt zu lernen
Ich habe versucht, mit Theano tief zu lernen
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
[Kaggle] Ich habe versucht, mit unausgeglichenem Lernen zu unterabtasten
Ich habe versucht, mit OpenPose eine Schildkrötenwelle zu schießen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, asynchrone Verarbeitung mit Asyncio
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Azure Speech to Text zu verwenden.
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich habe versucht, Selen mit Headless-Chrom zu verwenden
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen