Unipos ist bekannt als Instrument, um den Mitarbeitern Dankbarkeit und Einsatz zukommen zu lassen. Da die Einführung von Dienstleistungen im Unternehmensmaßstab eine schwere Belastung darstellt, habe ich mich vorerst entschlossen, so etwas zu machen.
Wenn Sie dort einen dedizierten Kanal mit Slack erstellen und Erwähnung + Nachricht überspringen, wird dieser gezählt. Es wird monatlich aggregiert und gibt Visualisierung & MHP (am meisten, gelobt, Person). Ich möchte auch die gesendeten Nachrichten für jeden Benutzer zusammenfassen.
Erstellen Sie zunächst einen neuen BOT mit slack api.
Dies ist fast das Ende der Vorbereitung auf der lockeren Seite. Legen Sie ein Symbol für die App fest, wenn Sie möchten.
In Anbetracht dessen, dass es später möglicherweise von einem Nicht-Ingenieur bedient wird, wird es dieses Mal, wenn Sie GET drücken, in die Tabelle geschrieben.
Speichert 4 Spalten mit Dankeschön / Mitarbeiter, Nachricht von Person und Datum.
Ich habe diese Quelle benutzt.
Weil ich die Firmensuite benutzt habe Führen Sie die App aus als: für mich, Ich konnte aufgrund von Berechtigungen nicht schreiben, es sei denn, wer Zugriff auf die App hat: wurde auf irgendjemanden eingestellt.
Klicken Sie auf die erstellte URL, um zu bestätigen, dass sie in jede Spalte geschrieben ist, und fahren Sie mit der nächsten fort.
Erstellen Sie ein Projekt, um die zuvor als Datenquelle erstellte Tabelle zu lesen. Ich dachte darüber nach, die Bigquery-Funktion zu verwenden, um sie zu visualisieren. Verwenden Sie das Datenportal, da die Bedienung intuitiv ist.
Diesmal habe ich am meisten programmiert.
import requests
import datetime
import re
from slackbot.bot import listen_to
from slackbot.bot import default_reply
Anfragen, datetime, re aus der Standardbibliothek von Python, Verwenden Sie listen_to und default_reply von slackbot.
@listen_to('<@')
def mention_func1(message):
api = "https://script.google.com/macros/s/[api]/exec?p1={p1}&p2={p2}&p3={p3}&p4={p4}"
if message.body['channel'] == '[channel ID]' :
bodytext = re.split('\s+|\s*\n\s*', message.body['text'], maxsplit=1)
userid = bodytext[0].replace('<@', '').replace('>', '')
if "Ist dem Kanal beigetreten" in userid:
exit()
p1 = namelist[userid]
p2 = bodytext[1]
p3 = namelist[message.body['user']]
p4 = datetime.date.today()
url = api.format(p1=p1, p2=p2, p3=p3, p4=p4)
r = requests.get(url)
message.reply('Wir haben Komplimente erhalten!')
Zuerst, als ich versuchte, es mit einem bestimmten benutzerdefinierten Piktogramm + @Benutzernamen reagieren zu lassen, Ich fand heraus, dass einige Mitarbeiter nicht wussten, wie man benutzerdefinierte Piktogramme verwendet, und entschied mich, zu arbeiten, wenn ich sie auf einem bestimmten Kanal erwähnte.
In der von slackbot empfangenen Nachricht ist die ID der Person, die sie ausgeführt hat, die Benutzer-ID von Slack, und der erwähnte Teil lautet `<@USERID>`
.
Da ich es als Anzeigenamen für den Betrieb speichern wollte, habe ich ein Objekt für den Anzeigenamen und die Benutzer-ID separat erstellt und die Benutzer-ID in den Anzeigenamen konvertiert.
Zum Schluss schreiben Sie, um die URL in Anfragen zu treffen und zu beenden.
Schreiben Sie eine Nachricht mit Erwähnungen in Slack, und wenn sie erfolgreich gespeichert wurde, erhalten Sie eine Antwort vom Bot.
Die gespeicherten Daten werden jeden Monat aggregiert und Sie können überprüfen, wie oft / Nachrichten / Nachrichten im Datenportal ausgeführt wurden. Ich habe nur die Anzahl und die Nachricht einmal erstellt, aber da es einfach ist, sie für jeden Benutzer zu erstellen oder nach verschiedenen Elementen zu aggregieren, dachte ich, dass es schön wäre, wenn das Datenportal in zukünftigen Vorgängen geändert werden könnte. ..
Recommended Posts