Envoyer un message de Slack à un serveur Python

Aperçu

Créez un bot slcak et envoyez un message de slack au serveur. Envoyer un message du serveur à Slack est-> "Envoi d'un message de python à Slack"

Choses à faire

1 Préparez le serveur

Préparez un serveur à accéder depuis Slack. Il est nécessaire de remplir les conditions en se référant à url_verification event.

exemple de code python

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 Créer une application Slack

2.1 Accédez à slack api.

2.2 Créer une application

Cliquez sur "Créer une nouvelle application". Créez une application en sélectionnant le nom de l'application et l'espace de travail.

2.3 Activer les événements d'activation

Sur la page Abonnements aux événements, définissez Activer les événements sur "OUI" スクリーンショット 2019-11-27 22.10.54.png

2.4 Spécifier l'URL de la demande

Spécifiez l'url du serveur préparée dans [1](# 1-Préparation du serveur).

2.5 Paramètres d'événement de l'espace de travail

Sous S'abonner aux événements de l'espace de travail, sélectionnez l'événement de l'espace de travail dans «Ajouter un événement de l'espace de travail». Cette fois, sélectionnez message.channels pour obtenir le message de la chaîne. D'autres événements peuvent être trouvés sur API Event Types.

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

3 Installez l'application Slack dans votre espace de travail

3.1 Installer dans l'espace de travail

スクリーンショット 2019-11-28 0.54.19.png Installer à partir de «Installer l'application sur l'espace de travail». # 3.2 Ajouter une application à la chaîne La chaîne Slack à laquelle vous souhaitez ajouter l'application-> Paramètres-> Ajouter l'application

référence

  1. Types de Slack Bot et comment le fabriquer approximativement
  2. Events API
  3. url_verification event
  4. API Event Types
  5. Envoyer un message à Slack depuis python

À la fin

J'ai pu recevoir des messages du canal slack sur le serveur! Je pense que je peux tout faire. Une fois que vous avez réussi le défi, vous pouvez arrêter le serveur après cela et le redémarrer.

Recommended Posts

Envoyer un message de Slack à un serveur Python
Je souhaite envoyer un message de Python à LINE Bot
Créez des paramètres dans terraform pour envoyer des messages depuis AWS Lambda Python3.8 vers Slack
Publier un message d'IBM Cloud Functions sur Slack en Python
Envoyer un message à LINE avec Python (LINE Notify)
[Python] Lancer un message sur le canal Slack
Publier de Python vers Slack
Comment installer NPI + envoyer un message à la ligne avec python
Notification push du serveur Python vers Android
Envoyer un message du serveur à l'extension Chrome à l'aide de Google Cloud Messaging pour Chrome
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
Comment envoyer un message à LINE avec curl
Comment ouvrir un navigateur Web à partir de python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Envoyez du courrier avec mailx à un serveur SMTP factice configuré avec python.
Comment générer un objet Python à partir de JSON
Exemple de notification Slack avec python lambda
[Python] Obtenez un an d'historique des messages de Slack
[python] Envoyez l'image capturée de la caméra Web au serveur et enregistrez-la
[LINE Messaging API] Je souhaite envoyer un message du programme à tout le monde LINE
POSTER des messages de python vers Slack via un webhook entrant
Envoyer les données du journal du serveur vers Splunk Cloud
Envoyer des données de Python au traitement via une communication socket
Étapes de l'installation de Python 3 à la création d'une application Django
De l'achat d'un ordinateur à l'exécution d'un programme sur python
Envisagez la conversion de Python récursif en non récursif
Script Python qui crée un fichier JSON à partir d'un fichier CSV
[Python] Comment appeler une fonction de c depuis python (édition ctypes)
Accès ODBC à SQL Server depuis Linux avec Python
publier sur vim → Python → Slack
Flirter de PHP à Python
Une route vers Python intermédiaire
Publiez sur Slack avec Python 3
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Envoyer un signal au sous-processus
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Publier sur Slack en Python
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Comment exécuter un programme Python à partir d'un script shell
Résumé de la construction de Python 3.4. * De la source à la création d'un environnement informatique scientifique
Comment lancer AWS Batch à partir de l'application cliente Python
Je veux démarrer beaucoup de processus à partir de python
Comment spécifier un serveur HTTP simple Python de répertoire public
Créer un environnement Python et transférer des données vers le serveur
Publier un message sur Google Hangouts Chat avec un fil de discussion (Python)
Créer un message correspondant à la localisation avec la chaîne de traduction python
Envoyer une demande d'AWS Lambda à Amazon Elasticsearch Service
Extraire la valeur la plus proche d'une valeur à partir d'un élément de liste en Python
Une note qui déploie une application Python de Circle CI vers Elastic Beanstalk et avertit Slack
J'ai créé un serveur avec socket Python et ssl et j'ai essayé d'y accéder depuis le navigateur
Procédure de la construction de l'environnement au test de fonctionnement de testinfra, un outil de test d'environnement de serveur réalisé par Python
Script Python qui peut vérifier l'état du serveur à partir du navigateur
Appelez Matlab depuis Python pour optimiser
Toucher les objets Python d'Elixir