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] **
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.
Suivez la même procédure que dans l'ancien article 3
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.
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 variable
res 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()
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 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".
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 ②.
Merci pour votre visite. J'espère que LINE WORKS continuera de grandir!
Recommended Posts