Weil die gestaffelte Arbeit aufgrund des Einflusses der jüngsten Infektionskrankheiten begonnen hat Ich habe einen Bot gemacht, der mir die Zeit zum Verlassen angibt, wenn ich die Zeit zur Arbeit poste.
Für die Verzeichnisstruktur des SlackBot-Projekts und die Zusammenarbeit mit Heroku habe ich auf die folgende Site verwiesen. https://qiita.com/akabei/items/ec5179794f9e4e1df203
Ich konnte den Betrieb von SlackBot anhand der oben genannten Site bestätigen (ich habe das Omikuji geschlossen), daher werde ich einen Code zur Berechnung der Abfahrtszeit erstellen
・ Berechnen Sie die Abfahrtszeit anhand der Buchungszeit als Ankunftszeit
from datetime import datetime, timedelta, timezone
from slackbot.bot import listen_to
@listen_to(r'^Teilnahme$')
def work_time(message):
JST = timezone(timedelta(hours=+9), 'JST')
start_now = datetime.now(JST)
end_time = start_now + timedelta(hours=8, minutes=45)
message.reply(end_time.strftime("%H:%M"))
Ausführungsergebnis ↓ ↓
In diesem Fall müssen Sie unmittelbar nach der Arbeit eine Nachricht senden. Erstellen Sie daher ein Muster, mit dem Sie die Zeit angeben können.
・ Geben Sie die Arbeitszeit an und berechnen Sie die Urlaubszeit
import re
from datetime import datetime, timedelta, timezone
from slackbot.bot import respond_to, listen_to
@listen_to(r'^Teilnahme\s[0-9]+:[0-9]+$')
def work_time(message):
JST = timezone(timedelta(hours=+9), 'JST')
current = datetime.now(JST)
text = message.body['text']
result = re.match(".*\s([0-9]+):([0-9]+)", text)
hour = result.group(1)
minute = result.group(2)
start_now = datetime(
year=current.year,
month=current.month,
day=current.day,
hour=int(hour),
minute=int(minute))
end_time = start_now + timedelta(hours=8, minutes=45)
message.reply(end_time.strftime("%H:%M"))
Ausführungsergebnis ↓ ↓
Egal zu welcher Zeit Sie zur Arbeit kommen, wie spät ist es? Ich muss mir keine Sorgen machen
・ Die Bereitstellung und Interaktion mit SlackBot war einfach (da es einen Artikel gab, der leicht verständlich organisiert war). ・ Da viele Menschen zu unterschiedlichen Zeiten zur Arbeit gingen, waren die Züge zu späten Stunden überfüllt, sodass ich schließlich zur ursprünglichen Zeit zurückkehrte und Bot keinen Platz hatte, um eine aktive Rolle zu spielen.
Recommended Posts