Die Geschichte der Schaffung eines VIP-Kanals in der Firma locker
Der obige Eintrag war interessant, also habe ich eine Chatwork-Version gemacht.
Machen wir das
Erstellen Sie einen anonymen Kanal und ein Bot-Konto, um zu sprechen. Fügen Sie dem anonymen Kanal alle Benutzer hinzu, mit denen Sie spielen möchten. Gehen Sie nach dem Erstellen eines Bot-Kontos oben rechts im ChatWork-Bildschirm zu Kontoname> API-Einstellungen. Stellen Sie die API so ein, dass sie mit dem erstellten Bot-Konto verwendet werden kann.
Wenn die API verfügbar ist, erstellen Sie zuerst ein API-Token. (Ich werde es später verwenden) Erstellen Sie auch einen neuen Webhook. Die URL kann später geändert werden, daher ist dies hier in Ordnung. OK, wenn das Ereignis ein Kontoereignis ist. Bitte geben Sie ihm einen Namen.
Ich habe versucht, die von ChatWorks Webhook mit Lambda gesendete Anfrage zu überprüfen Lesen Sie dies zuerst. lesen. Sie können ein Gefühl dafür bekommen.
Erstellen Sie eine neue Funktion in AWS Lambda. Da diesmal Python verwendet wird, stellen Sie bitte die Laufzeit auf Python 3.7 usw. ein.
Einmal erstellt, aus ** Add Trigger ** Registrieren Sie das API-Gateway. Stellen Sie es so ein. Ignorieren Sie alle Sicherheitseinstellungen für einen schnellen Betrieb, stellen Sie sie jedoch nach Bedarf ein.
Wenn Sie zum Lambda-Einstellungsbildschirm zurückkehren Wie Sie unten im Bild sehen können, sehen Sie den API-Endpunkt etwas weiter unten. Stellen wir dies auf die Chatwork-Webhook-URL ein.
Übrigens, da das Gehirn POST nicht von anderen als Anfragen senden wollte, als Vorbereitung auf der Quellcodeseite [Überprüfung] Ich habe sofort Lambdas Layer-Funktion #reinvent ausprobiert Fügen Sie eine Ebene mit einem Anforderungsmodul hinzu, indem Sie auf den obigen Eintrag verweisen. Natürlich gibt es auch eine Möglichkeit, sich daran zu erinnern, wie man urllib verwendet. Bitte wählen Sie denjenigen, der die Kosten für günstig hält.
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']) #Der Körper des Ereignisses scheint als eine Kette zu kommen
content = content['webhook_event']['body'] #Wenn Sie es zu einem Kontoereignis gemacht haben, finden Sie hier den Nachrichtentext
content = content.replace('[To:bot_account_id]Name des Bot-Kontos\n', '') #Eingehende Formulierungen wurden entfernt, wenn in To gesprochen wurde
params = {'body': f'{content}'}
res = requests.post(url, data=params, headers=headers)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Es ist die minimale Bewegung Taro. Schreiben Sie dies im Editor-Teil von Lambda. Tatsächlich ist es besser, die Authentifizierung mit TOKEN einzufügen, das auf dem Webhook enthalten ist, oder den Inhalt so zu ändern, dass er entsprechend dem Verarbeitungsergebnis zurückgegeben wird. Die Person, die das geschrieben hat, wollte es trotzdem verschieben, also habe ich es kaputt gemacht. Es tut mir Leid
Ich denke, dass es ein Eingabefeld für Umgebungsvariablen direkt unter dem Editor-Teil gibt, also legen Sie die ID des anonymen Kanals und das API-Token des anonymen Kontos fest. Die ID des Kanals verwendet die Nummer in der URL, wenn der Kanal im Browser geöffnet wird.
wird sich bewegen. Es war gut.
Ich habe es geschafft, eine Pause von Überstunden zu machen, deshalb bin ich nicht zuversichtlich in den Inhalt. Wenn Sie Masakari werfen möchten, werfen Sie bitte immer mehr. Bitte weisen Sie darauf hin, wenn etwas nicht stimmt. Ich werde es löschen.
Vielen Dank.