[PYTHON] Die Geschichte der Einrichtung eines VIP-Kanals im internen Chatwork

Lass uns gehen

Die Geschichte der Schaffung eines VIP-Kanals in der Firma locker

Der obige Eintrag war interessant, also habe ich eine Chatwork-Version gemacht.

Was du machen willst

Machen wir das

Chatwork machen

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. image.png 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. image.png 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.

AWS machen

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. image.png

Einmal erstellt, aus ** Add Trigger ** image.png Registrieren Sie das API-Gateway. image.png 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 image.png 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.

Eine Funktion erstellen

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.

Versuche dich zu bewegen

wird sich bewegen. Es war gut.

abschließend

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.

Recommended Posts

Die Geschichte der Einrichtung eines VIP-Kanals im internen Chatwork
Die Geschichte des Erstellens einer Datenbank mithilfe der Google Analytics-API
Die Geschichte des Exportierens eines Programms
Die Geschichte der Schaffung eines "Geist- und Zeit-Chatrooms" exklusiv für Ingenieure im Unternehmen
Die Geschichte, einen Standardtreiber für db mit Python zu erstellen.
Die Geschichte der Erstellung einer Website, auf der die Veröffentlichungsdaten von Büchern aufgeführt sind
Die Geschichte der Verarbeitung A von Blackjack (Python)
Die Geschichte des Erstellens eines Bots, der aktive Mitglieder in einem bestimmten Slack-Kanal mit Python anzeigt
Die Geschichte, dass die Lernkosten von Python niedrig sind
Die Geschichte, wie ein Geschäft BOT (AI LINE BOT) nach Go To EAT in der Präfektur Chiba durchsucht (1)
Bildverarbeitung? Die Geschichte, Python für zu starten
Die Geschichte eines Mel-Icon-Generators
Die Geschichte von Django, wie er eine Bibliothek erstellt, die vielleicht etwas nützlicher ist
Die Geschichte, wie ein Geschäft BOT (AI LINE BOT) nach Go To EAT in der Präfektur Chiba durchsucht (2) [Übersicht]
Die Geschichte von sys.path.append ()
Die Geschichte des Starts eines Minecraft-Servers von Discord
Eine Geschichte, die den Aufwand für Betrieb / Wartung reduziert
Die Geschichte eines neuronalen Netzwerks der Musikgeneration
Eine Geschichte über die Änderung des Master-Namens von BlueZ
Zip 4 Gbyte Problem ist eine Geschichte der Vergangenheit
Eine Geschichte, die die Lieferung von Nico Nama analysierte.
Eine Geschichte über die Verbesserung des Programms zum teilweisen Füllen von binärisierten 3D-Bilddaten
Die Geschichte des Wechsels von WoSign zu Let's Encrypt für ein kostenloses SSL-Zertifikat
Ich bin gerade in Singapur. Eine Geschichte über das Erstellen eines LineBot und den Wunsch, einen unvergesslichen Job zu machen
Vermeiden Sie die Fallstricke bei der Verwendung eines Mac (für Linux-Benutzer?)
Die Geschichte des Baus von Zabbix 4.4
Die Geschichte des Django-Modellfeldes verschwindet aus der Klasse
Die Geschichte, wie man mit discord.py einen Fragenkasten-Bot erstellt
Zum ersten Mal veröffentlichte GitHub x Circle CI ein Textüberprüfungstool von Python
Eine kleine süchtig machende Geschichte mit den Berechtigungen des von expdp angegebenen Verzeichnisses (für Anfänger)
Memorandum des Python-Paketverwaltungstools ez_setup
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Die Geschichte, ein Modul zu erstellen, das E-Mails mit Python überspringt
Die Geschichte von Python und die Geschichte von NaN
Schritt für Schritt zum Erstellen einer Docker-Datei
Die Geschichte der Teilnahme an AtCoder
Die Geschichte des "Lochs" in der Akte
Die Geschichte des erneuten Bereitstellens des Anwendungsservers
[AtCoder für Anfänger] Sprechen Sie über den Rechenaufwand, den Sie grob wissen möchten
Eine Geschichte über den Versuch, den Testprozess eines 20 Jahre alten Systems in C zu verbessern
Eine Geschichte über das Erstellen eines Programms, mit dem die Anzahl der Instagram-Follower in einer Woche von 0 auf 700 erhöht wird
Eine Geschichte, die die Gegenwart von Qiita mit Qiita API + Elasticsearch + Kibana visualisiert
Die Geschichte eines Parksensors in 10 Minuten mit dem GrovePi + Starter Kit
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
Hinweise zur Verwendung von KUnit, dem Unit-Test-Mechanismus des Linux-Kernels
Latein lernen zum Schreiben eines lateinischen Satzanalyseprogramms (Teil 1)
Eine Geschichte über das Erstellen eines anonymen Kanals mit Slack aus null Wissen
Die Geschichte der Entwicklung einer WEB-Anwendung, die automatisch Fangkopien generiert [MeCab]
Eine Geschichte von einer Person, die von Anfang an auf Datenwissenschaftler abzielte
Die Geschichte einer Soundkamera mit Touch Designer und ReSpeaker
Sprechen Sie über die Fluchtwahrscheinlichkeit eines zufälligen Gehens auf einem ganzzahligen Gitter
Die Geschichte, ein Paket zu erstellen, das den Betrieb von Juman (Juman ++) & KNP beschleunigt
Was Java-Benutzer davon gehalten haben, die Go-Sprache für einen Tag zu verwenden
Die Geschichte der Erstellung von Botonyan, das den Inhalt von Google Text & Tabellen als Antwort auf ein bestimmtes Keyword in Slack zurückgibt
Mit LSTM + Embedding habe ich die Bedeutung der Vorverarbeitung in NLP erneut bekräftigt und gleichzeitig ein Modell zur Unterscheidung der Emotionen von Tweets erstellt.