Senden Sie eine Nachricht von Slack an einen Python-Server

Überblick

Erstellen Sie einen slcak-Bot und senden Sie eine Nachricht von slack an den Server. Das Senden einer Nachricht vom Server an slack ist-> "Senden einer Nachricht von Python an Slack"

Dinge die zu tun sind

1 Server vorbereiten

Bereiten Sie einen Server für den Zugriff von Slack vor. Die Bedingungen müssen unter Bezugnahme auf url_verification event erfüllt werden.

Python-Codebeispiel

import flask
from flask import request, Response
import os
import json

app = flask.Flask(__name__)


@app.route('/', methods=["POST"])
def index():
    data = request.data.decode('utf-8')
    data = json.loads(data)
    # for challenge of slack api
    if 'challenge' in data:
        token = str(data['challenge'])
        return Response(token, mimetype='text/plane')
    # for events which you added
    if 'event' in data:
        print("get event")
        event = data['event']
        if 'user' in event:
            print("user = ", event["user"])
        if "text" in event:
            print("text = ", event["text"])
    return Response("nothing", mimetype='text/plane')


port = os.getenv('VCAP_APP_PORT', '8000')


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=int(port), debug=True)

2 Erstellen einer Slack-App

2.1 Gehen Sie zu slack api.

2.2 App erstellen

Klicken Sie auf "Neue App erstellen". Erstellen Sie eine App, indem Sie den Namen und den Arbeitsbereich der App auswählen.

2.3 Aktivieren Sie Ereignisse aktivieren

Setzen Sie auf der Seite "Ereignisabonnements" die Option "Ereignisse aktivieren" auf "EIN". スクリーンショット 2019-11-27 22.10.54.png

2.4 Anforderungs-URL angeben

Geben Sie die URL des in [1] vorbereiteten Servers an (Nr. 1 - Vorbereiten des Servers).

2.5 Einstellungen für Arbeitsbereichsereignisse

Wählen Sie unter Arbeitsbereichereignisse abonnieren unter "Arbeitsbereichereignis hinzufügen" das Arbeitsbereichsereignis aus. Wählen Sie diesmal message.channels aus, um die Nachricht des Kanals abzurufen. Weitere Ereignisse finden Sie unter API-Ereignistypen.

スクリーンショット 2019-11-28 0.47.53.png

3 Installieren Sie die Slack-App in Ihrem Arbeitsbereich

3.1 Im Arbeitsbereich installieren

スクリーンショット 2019-11-28 0.54.19.png Installation von "App in Workspace installieren". # 3.2 App zum Kanal hinzufügen Der Slack-Kanal, zu dem Sie die App hinzufügen möchten-> Einstellungen-> App hinzufügen

Referenz

  1. Arten von Slack Bot und wie man es grob macht
  2. Events API
  3. url_verification event
  4. API Event Types
  5. Nachricht von Python an Slack senden

Am Ende

Ich konnte Nachrichten vom Slack-Kanal auf dem Server empfangen! Ich denke ich kann alles machen. Sobald Sie die Herausforderung bestanden haben, können Sie den Server danach stoppen und erneut starten.

Recommended Posts

Senden Sie eine Nachricht von Slack an einen Python-Server
Ich möchte eine Nachricht von Python an LINE Bot senden
Erstellen Sie Einstellungen in Terraform, um Nachrichten von AWS Lambda Python3.8 an Slack zu senden
Senden Sie eine Nachricht von IBM Cloud Functions an Slack in Python
Senden Sie eine Nachricht mit Python an LINE (LINE Notify)
[Python] Wirf eine Nachricht an den Slack-Kanal
Post von Python nach Slack
So installieren Sie NPI + Senden Sie eine Nachricht an Python
Push-Benachrichtigung vom Python-Server an Android
Senden Sie mithilfe von Google Cloud Messaging für Chrome eine Nachricht vom Server an die Chrome-Erweiterung
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
So senden Sie eine Nachricht mit Curl an LINE
So öffnen Sie einen Webbrowser über Python
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Senden Sie E-Mails mit mailx an einen mit Python eingerichteten Dummy-SMTP-Server.
So generieren Sie ein Python-Objekt aus JSON
Beispiel für eine Slack-Benachrichtigung mit Python Lambda
[Python] Holen Sie sich einen einjährigen Nachrichtenverlauf von Slack
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
[LINE Messaging API] Ich möchte eine Nachricht vom Programm an alle LINE senden
POST-Nachrichten von Python an Slack über eingehenden Webhook
Senden Sie Protokolldaten vom Server an Splunk Cloud
Senden Sie Daten von Python über die Socket-Kommunikation an Processing
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
Betrachten Sie die Konvertierung von Python rekursiv in nicht rekursiv
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
[Python] So rufen Sie eine Funktion von c aus Python auf (ctypes edition)
ODBC-Zugriff auf SQL Server von Linux mit Python
poste an vim → Python → Slack
Flirte von PHP nach Python
Ein Weg zum mittleren Python
Post to Slack mit Python 3
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Senden Sie ein Signal an den Unterprozess
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
Post an Slack in Python
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So führen Sie ein Python-Programm in einem Shell-Skript aus
Zusammenfassung vom Erstellen von Python 3.4. * Von der Quelle zum Erstellen einer wissenschaftlichen Computerumgebung
So starten Sie AWS Batch über die Python-Client-App
Ich möchte viele Prozesse von Python aus starten
So geben Sie das öffentliche Verzeichnis Python Simple HTTP Server an
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
Senden Sie eine Nachricht an Google Hangouts Chat mit einem Thread (Python)
Erstellen Sie eine Nachricht, die der Lokalisierung entspricht, mit einer Python-Übersetzungszeichenfolge
Senden Sie eine Anfrage von AWS Lambda an Amazon Elasticsearch Service
Extrahieren Sie den Wert, der einem Wert am nächsten kommt, aus einem Listenelement in Python
Ein Hinweis, der eine Python-Anwendung von Circle CI auf Elastic Beanstalk bereitstellt und Slack benachrichtigt
Ich habe einen Server mit Python-Socket und SSL erstellt und versucht, über den Browser darauf zuzugreifen
Verfahren von der Umgebungskonstruktion bis zum Betriebstest von testinfra, einem von Python erstellten Testwerkzeug für die Serverumgebung
Python-Skript, das den Status des Servers über den Browser überprüfen kann
Rufen Sie Matlab von Python zur Optimierung auf
Berühren Sie Python-Objekte in Elixir