L'histoire de la création d'une chaîne VIP dans le jeu de l'entreprise
L'entrée ci-dessus était intéressante, j'ai donc créé une version de chatwork.
--Préparez un canal anonyme et un compte bot pour parler. --Utilisez Chatwork Webhook avec votre compte bot. --Recevoir le webhook sur AWS API Gateway et lancer Lambda. --Depuis Lambda, utilisez l 'API Chatwork pour parler à un canal anonyme avec un compte de bot.
Faisons le
Créez un canal anonyme et un compte bot pour parler. Ajoutez tous les utilisateurs avec lesquels vous souhaitez jouer à la chaîne anonyme. Après avoir créé un compte de bot, accédez à Nom du compte> Paramètres de l'API en haut à droite de l'écran ChatWork. Définissez l'API afin qu'elle puisse être utilisée avec le compte bot créé.
Lorsque l'API devient disponible, créez d'abord un jeton API. (Je l'utiliserai plus tard) Créez également un nouveau webhook. L'URL peut être modifiée plus tard, donc ça va ici. OK si l'événement est un événement de compte. Veuillez lui donner un nom.
J'ai essayé de vérifier la demande envoyée depuis le Webhook de ChatWork avec Lambda Lisez ceci en premier. lis. Vous pouvez vous en faire une idée.
Créez une nouvelle fonction dans AWS Lambda. Puisque Python sera utilisé cette fois, veuillez définir le runtime sur Python 3.7 etc.
Une fois créé, à partir de ** Add Trigger ** Enregistrez la passerelle API. Réglez-le comme ça. Ignorez tous les paramètres de sécurité pour un fonctionnement rapide, mais définissez-les si nécessaire.
Lorsque vous revenez à l'écran de réglage lambda Comme vous pouvez le voir en bas de l'image, vous pouvez voir le point de terminaison de l'API un peu ci-dessous. Définissons ceci sur l'URL du Webhook de chatwork.
D'ailleurs, comme le cerveau ne voulait pas envoyer de POST à partir d'autres demandes, comme préparation côté code source [Vérification] J'ai immédiatement essayé la fonction Layer de Lambda #reinvent Ajoutez une couche avec un module de requêtes en vous référant à l'entrée ci-dessus. Bien sûr, il existe également un moyen de se rappeler comment utiliser urllib. Veuillez choisir celui qui estime que le coût est bon marché.
import json
import os
import requests
def lambda_handler(event, context):
url = f'https://api.chatwork.com/v2/rooms/{os.environ['ROOM_ID']}/messages'
headers = {'X-ChatWorkToken': os.environ['CW_KEY']}
content = json.loads(event['body']) #Le corps de l'événement semble venir comme une chaîne
content = content['webhook_event']['body'] #Si vous en avez fait un événement de compte, voici le corps du message
content = content.replace('[To:bot_account_id]nom du compte bot\n', '') #Suppression du libellé entrant lorsqu'il est prononcé à
params = {'body': f'{content}'}
res = requests.post(url, data=params, headers=headers)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
C'est le mouvement minimum du Taro. Écrivez ceci dans la partie éditeur de Lambda. En fait, il est préférable d'insérer l'authentification à l'aide de TOKEN fourni sur le Webhook, ou de modifier le contenu à renvoyer en fonction du résultat du traitement. La personne qui a écrit ceci voulait quand même le déplacer, alors je l'ai cassé. Je suis désolé
Je pense qu'il existe un champ de saisie pour les variables d'environnement juste en dessous de la partie éditeur, alors définissez l'ID du canal anonyme et le jeton API du compte anonyme. L'ID de la chaîne utilise le numéro dans l'URL lorsque la chaîne est ouverte dans le navigateur.
va bouger. C'était bon.
Je l'ai fait pour faire une pause dans les heures supplémentaires, donc je ne suis pas confiant dans le contenu. Si vous voulez lancer Masakari, veuillez en lancer de plus en plus. Veuillez indiquer s'il y a quelque chose qui ne va pas. Je vais l'effacer.
Merci beaucoup.
Recommended Posts