[PYTHON] Comment POSTER sur un canal spécifié sans utiliser les WebHooks entrants de Slack

Comment POSTER sur un canal spécifié sans utiliser les WebHooks entrants de Slack

Pour ceux qui utilisent Slack gratuitement et qui ont atteint la limite d'intégration et sont tombés malades. Vous souhaitez essayer diverses intégrations même dans le cadre gratuit! ?? C'est un gaspillage d'utiliser un cadre d'intégration précieux pour les WebHooks entrants! C'est un pauvre esprit w インテグレーションいっぱい.PNG

table des matières

  1. Préparation
  2. Essayez POST avec Python

Préparation

Accédez à la page suivante pour obtenir le jeton de chaque individu.


https://api.slack.com/web Ce sera l'élément «Authentification» au bas de la page ci-dessus. 認証前.PNG

Cliquez sur «Créer un jeton» dans l'image pour générer un jeton pour chaque utilisateur. Notez-le car vous l'utiliserez plus tard.

認証トークン発行済.PNG

Créez un canal avec l'échantillon.


Créez une chaîne depuis Slack de l'équipe qui a émis le jeton. Cette fois, supposons que vous ayez créé un canal appelé «sample». Vous pouvez également POSTER sur un canal existant, vous n'avez donc pas à en créer un nouveau.

Vous êtes prêt à partir!

Essayez POST avec Python

La page suivante contient une liste de méthodes API.   https://api.slack.com/methods Cette fois, nous utiliserons la méthode chat.postMessage dans cette liste.

sample.py


#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests

#paramètres proxy, le cas échéant
PROXIES = {
  "http": "http://hogehoge:port/",
  "https": "https://fugafuga:port/",
}

class SlackWrapper:
    #slack
    __token = 'your_slack_token' #Écrivez le jeton que vous avez obtenu plus tôt ici
    __channel = '#sample' #Nom de la chaîne que vous souhaitez POSTER
    __postSlackUrl = 'https://slack.com/api/chat.postMessage' #C'est corrigé
    __icon_url = 'URL de l'icône' #Spécifiez l'URL de l'icône à publier sur Slack.
    __username = 'sample' #Nom d'utilisateur pour publier sur Slack
    
    def __init__(self):
        pass

    def post(self, posttext):
        params = {'token': self.__token, 
                  'channel': self.__channel , 
                  'text':posttext,
                  'icon_url': self.__icon_url,
                  'username':self.__username,
                  'unfurl_links': 'false'
                  }
        #POST dans Slack
        r = requests.post(self.__postSlackUrl, params=params, proxies=PROXIES)  
        #Lorsqu'il n'y a pas de proxy
        # r = requests.post(self.__postSlackUrl, params=params)  

if __name__ == '__main__':
    slack = SlackWrapper()
    slack.post('salut! Mou!')
    

Vous pouvez maintenant POSTER sur le canal spécifié sans utiliser de WebHooks entrants! Tu l'as fait!

Recommended Posts

Comment POSTER sur un canal spécifié sans utiliser les WebHooks entrants de Slack
Comment dessiner un graphique avec Matplotlib
Comment installer un package à l'aide d'un référentiel
Comment coder un drone en utilisant la reconnaissance d'image
Comment notifier les canaux Discord en Python
Comment mettre en ligne sur un Drive partagé à l'aide de pydrive
Comment désinstaller un module installé à l'aide de setup.py
Comment configurer un environnement Python à l'aide de pyenv
Comment créer un package Python à l'aide de VS Code
Comment publier un ticket depuis l'API Shogun
Comment exécuter une commande à l'aide d'un sous-processus en Python
Comment utiliser GitHub sur un serveur multi-personnes sans mot de passe
Comment transloquer un tableau à deux dimensions en utilisant uniquement python [Note]
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment appeler une fonction
Publier sur Twitter en utilisant Python
Comment pirater un terminal
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
Comment coller un fichier CSV dans un fichier Excel à l'aide de Pandas
ABC170 E - Comment résoudre sans utiliser le multiset de Smart Infants
Comment créer un environnement Python à l'aide de Virtualenv sur Ubuntu 18.04 LTS
Comment formater un tableau à l'aide de Pandas Appliquer, pivoter et permuter le niveau
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
Comment enregistrer une partie d'une longue vidéo en utilisant OpenCV
Comment mettre à jour une source de données de classeur packagée Tableau à l'aide de Python
Comment créer un fichier factice CSV contenant du japonais à l'aide de Faker
Comment supprimer plusieurs positions (index) spécifiées dans une liste Python
Comment installer Python à l'aide d'Anaconda
Comment faire une traduction japonais-anglais
Comment mettre un lien symbolique
Comment créer un package Conda
Comment créer un robot - Avancé
Comment créer une fonction récursive
Comment créer un pont virtuel
Comment créer un Dockerfile (basique)
[Blender] Comment créer un plug-in Blender
Comment supprimer un conteneur Docker
Comment créer un robot - Basic
[Nanonets] Comment publier un mémo [Python]
Comment créer un fichier de configuration
Comment générer un nouveau groupe de journaux dans CloudWatch à l'aide de python dans Lambda
Comment appeler une requête POST prenant en charge le japonais (Shift-JIS) avec des requêtes
Comment diviser et traiter une trame de données à l'aide de la fonction groupby
Comment faire un modèle pour la détection d'objets avec YOLO en 3 heures
Comment connaître le nombre de processeurs sans utiliser la commande sar
Comment réparer la population initiale avec un algorithme génétique utilisant DEAP