[PYTHON] Das Format der von der Slack-API erhaltenen Nachricht ist auf subtile Weise schwierig zu verwenden

Ich drücke die API, um die Nachricht zu erhalten, aber ich möchte zumindest erhalten

--Benutzeridentifikation

Von diesen habe ich Versuch und Irrtum versucht, weil ich die Benutzer-ID nicht erhalten konnte. Die hier beschriebene Geschichte befindet sich ursprünglich auf GitHub.

️ Anforderungen

Selbst wenn Sie eine Art Analysematerial erstellen, können Sie anscheinend nicht ohne mindestens die folgenden drei Informationen sprechen.

Diesmal müssen diese drei Informationen aus allen Posts (eines bestimmten Kanals) extrahiert werden.

Fazit

Als Ergebnis von Versuch und Irrtum kam ich zu dem Schluss, dass das folgende Gefühl gut wäre.

Für Zeit und Text,

data = json.load(open("posts.json"))
for msg in data:
	print msg.get("ts", "")
	print msg.get("text", "")

Es ist in Ordnung mit einem Gefühl wie.

In Bezug auf die Benutzerakquise sind diejenigen, die unter den folgenden Bedingungen nicht akquiriert werden können, durch.

def get_user_id(m):
    if m.has_key("user"): return m["user"]
    if m.has_key("bot_id"): return m["bot_id"]
    return None

for msg in data:
	uid = get_user_id(msg)
	if uid is None:
		continue
	# do something ...

Unter den Überprüfungsbedingungen betrug die Anzahl der entsprechenden Beiträge 0,2 [%] der Gesamtzahl, sodass wir den Schluss ziehen, dass dies ignoriert werden kann.

Überprüfungsbedingungen

Die Daten stammen aus dem zufälligen Kanal Ihres Unternehmens. Ich werde den spezifischen Zeitraum und die Anzahl der Beiträge nicht offenlegen, aber ich habe mir die Nachrichten angesehen, die in einem Zeitraum von etwa eineinhalb Jahren veröffentlicht wurden.

das ist alles.

Recommended Posts

Das Format der von der Slack-API erhaltenen Nachricht ist auf subtile Weise schwierig zu verwenden
Von der Einführung der GoogleCloudPlatform Natural Language API bis zur Verwendung
[RSpec] Stellen Sie sicher, dass die Antwort der Anforderung an die von stub_request (: post) stubisierte Google-API dem tatsächlichen Format entspricht.
Einführung in die maschinelle Übersetzungsarchitektur der Universität Cambridge mit der Slack Translation App Kiara
Ermitteln Sie mithilfe der Twitter-API die Anzahl der Tweets, die sich auf ein bestimmtes Keyword beziehen
Lassen Sie uns Wiki-Informationen mithilfe der MediaWiki-API abrufen
Verwendung der Google Cloud Translation API
Verwendung der NHK-Programmführer-API
[Python] Wirf eine Nachricht an den Slack-Kanal
Verwenden Sie die Twitter-API, um die von Twitter benötigte Zeit zu verkürzen (erstellen Sie eine Hervorhebungszeitleiste).
Fügen Sie eine Funktion hinzu, um dem Wetter heute mitzuteilen, dass der Bot locker ist (hergestellt von Python).
Verwenden wir die API des allgemeinen Fensters für Regierungsstatistiken (e-Stat).
Verwenden wir die Python-Version des Confluence-API-Moduls.
[Python] Verwenden Sie die Face-API von Microsoft Cognitive Services
Spielen Sie Musik, indem Sie auf die inoffizielle API von Google Play Music klicken
Verwenden Sie AWS Lambda, um einen Mechanismus zu erstellen, der Slack benachrichtigt, wenn der von CloudWatch überwachte Wert in Python überschritten wird
Betreff: Python Lambda ist nutzlos ^ H ^ H ^ H ^ H ^ H Schwer zu bedienen
Die Kopiermethode von pandas.DataFrame ist standardmäßig Deep Copy
So testen Sie die Attribute, die durch add_request_method of pyramid hinzugefügt wurden
[Django] Übergeben Sie die von der API authentifizierte Benutzerinstanz an ModelSerializer
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
Gibt es ein Geheimnis in der Häufigkeit der Umfangszahlen?
Ich habe versucht, die Sprecheridentifikation mithilfe der Sprechererkennungs-API von Azure Cognitive Services mit Python zu überprüfen. # 1
Ich habe versucht, die Sprecheridentifikation mithilfe der Sprechererkennungs-API von Azure Cognitive Services in Python zu überprüfen. # 2
Eine kleine süchtig machende Geschichte mit den Berechtigungen des von expdp angegebenen Verzeichnisses (für Anfänger)
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.