[PYTHON] [LINE WORKS version Trello Bot] Comment créer un salon de discussion privé comprenant un robot de discussion

Bonsoir, c'est @ 0yan. J'ai écrit les articles suivants sur la version LINE WORKS de Trello Bot dans le passé.

** [Articles précédents] **

  1. Histoire de la création de la version Trello Bot de LINE WORKS avec Python
  2. Jusqu'au déploiement de Trello Bot for LINE WORKS sur Heroku
  3. [Note] Implémentation de Trello Bot pour LINE WORKS par Python (PyPI lineworks installation Ver.)

Cependant, lorsque j'ai essayé de créer un bot Trello dédié à cette section à la demande d'un autre service, je ne comprenais pas "Quoi? Comment créer un talk-room privé incluant le talk Bot ...?" (En bref) J'ai oublié).

Peut-être que ceux qui liront l'article ci-dessus voudront recevoir la notification de mise à jour du tableau Trello partagée par un membre spécifique (vous voulez créer une salle de conversation privée) **, donc cette fois je vais lire cet article J'aimerais écrire.

Conditions préalables

environnement

Bibliothèque

Créer un bot Trello

Suivez la même procédure que dans l'ancien article 3

  1. Codage
  2. Déployez sur Heroku via GitHub
  3. Créez Trello Webhook Faire.

Si la destination de notification du robot de conversation est une personne spécifique, vous pouvez entrer l'ID de compte de cette personne dans la variable d'environnement Heroku "ACCOUNT_ID", mais si la destination de notification du bot de conversation est une salle de conversation privée, procédez comme suit Je vais.

Lorsque la destination de notification du robot de conversation est une salle de conversation privée

① Modifier le code source

Le code ci-dessous est le code écrit dans le codage ci-dessus. Entrez l'ID de compte (~ @ nom de domaine) de la personne qui sera membre du talk-room privé à créer dans l'élément "Arbitrary account ID" de la liste à attribuer à la variable ʻaccount_ids de create_room () . Entrez également le nom d'affichage de la salle de discussion privée dans l'argument "Nom de la salle de discussion arbitraire" de la fonction talkbot.create_room ()à affecter à la variableres de create_room ()`.

app.py


# coding: utf-8

import os

from flask import Flask, abort, request
from lineworks.talkbot_api import TalkBotApi


app = Flask(__name__)
talkbot = TalkBotApi(
    api_id=os.environ.get('API_ID'),
    private_key=os.environ.get('PRIVATE_KEY'),
    server_api_consumer_key=os.environ.get('SERVER_API_CONSUMER_KEY'),
    server_id=os.environ.get('SERVER_ID'),
    bot_no=os.environ.get('BOT_NO'),
    account_id=os.environ.get('ACCOUNT_ID'),
    room_id=os.environ.get('ROOM_ID'),
    domain_id=os.environ.get('DOMAIN_ID')
)


@app.route('/')
def index():
    return 'Start', 200


@app.route('/webhook', methods=['GET', 'HEAD', 'POST'])
def webhook():
    if request.method == 'GET':
        return 'Start', 200
    elif request.method == 'HEAD':
        return '', 200
    elif request.method == 'POST':
        action_type = request.json['action']['display']['translationKey']
        if action_type == 'action_comment_on_card':
            card_name = request.json['action']['data']['card']['name']
            user_name = request.json['action']['memberCreator']['fullName']
            comment = request.json['action']['data']['text']
            message = user_name + "Commenté.\n [carte]" + card_name + "\n [Commentaire]" + comment
            talkbot.send_text_message(send_text=message)
            return '', 200
        else:
            pass
    else:
        abort(400)


@app.route('/create_room', methods=['GET'])
def create_room():
    if request.method == 'GET':
        account_ids = [
            "Tout identifiant de compte",
            "Tout identifiant de compte",
            "Tout identifiant de compte",
            "Tout identifiant de compte",
            "Tout identifiant de compte"
        ]
        res = talkbot.create_room(account_ids=account_ids, title="Tout nom de salle de discussion (par exemple Trello Bot)")
        return res, 200
    else:
        abort(400)        
        

if __name__ == '__main__':
    app.run()
② Créez un salon de discussion privé comprenant Trello Bot et obtenez un identifiant de salle

https://{Herokuのアプリ名}.herokuapp.com/create_room Lorsque vous accédez à l'URL ci-dessus, l'ID de la salle sera renvoyé sous forme de réponse HTTP (l'ID de la salle suivant sera affiché sur le navigateur).

{
  "roomId": "123456"
}
③ Entrez l'ID de la pièce dans la variable d'environnement Heroku

Entrez l'ID de salle obtenu en ② dans la variable d'environnement Heroku "ROOM_ID". À ce stade, n'oubliez pas de supprimer la variable d'environnement Heroku "ACCOUNT_ID".

④ Test

Essayez de commenter la carte de Trello. Vous recevrez une notification de mise à jour Trello avec le nom de la salle de conversation spécifié dans ②.

en conclusion

Merci pour votre visite. J'espère que LINE WORKS continuera de grandir!

Recommended Posts

[LINE WORKS version Trello Bot] Comment créer un salon de discussion privé comprenant un robot de discussion
Comment créer une boîte de saisie Kivy 1 ligne
Comment créer un package Conda
Comment créer un pont virtuel
Comment créer un Dockerfile (basique)
Comment créer un fichier de configuration
Créer un bot LINE avec Django
Créer un bot pour retweeter les informations sur le virus corona
Comment créer un dossier git clone
[Python] [LINE Bot] Créer un robot LINE de retour de perroquet
Comment créer un référentiel à partir d'un média
Comment envoyer un message à LINE avec curl
Comment créer un objet fonction à partir d'une chaîne
Créer un LINE BOT avec Minette pour Python
Comment créer un fichier JSON en Python
Étapes pour créer un bot Twitter avec Python
Procédure de création d'application multi-plateforme avec kivy
Créer un bot LINE WORKS avec Amazon Lex
[Note] Comment créer un environnement de développement Mac
L'explication la plus simple au monde sur la création de LINE BOT (1) [Account preparation]
Lire la source Python-Markdown: Comment créer un analyseur
[AWS] J'ai créé un BOT de rappel avec LINE WORKS
Comment créer un article à partir de la ligne de commande
[Python] Comment dessiner un graphique linéaire avec Matplotlib
Comment créer un sous-menu avec le plug-in [Blender]
[Go] Comment créer une erreur personnalisée pour Sentry
Comment créer un référentiel local pour le système d'exploitation Linux
Comment créer un simple script serveur / client TCP
Comment créer un LINE BOT 004 interactif (répondre à la date de clôture d'une société cotée)
Créer un bot slack
Comment créer un BOT Cisco Webex Teams à l'aide de Flask
[Go language] Essayez de créer un compteur de lignes inutilement multithread
Comment installer NPI + envoyer un message à la ligne avec python
Créez un bot LINE avec GoogleAppEngine / py. Version nue simple
Créez un bot Mastodon avec une fonction pour répondre automatiquement avec Python
Comment générer une clé publique à partir d'une clé privée SSH
[Python Kivy] Comment créer une simple fenêtre pop-up
Je souhaite envoyer un message de Python à LINE Bot
J'ai essayé de créer un bot pour annoncer un événement Wiire
[AWS] J'ai créé un BOT de rappel avec LINE WORKS (implémentation)
Créez une application de gestion automatique des notes pour Tenho Private Room avec le bot LINE et Python Partie 1
Créez une application de gestion automatique des notes pour Tenho Private Room avec le bot LINE et Python Partie 2
Créez une application de gestion automatique des notes pour la salle privée Tenho avec le bot LINE et la partie Python ③