[PYTHON] Depuis que j'ai commencé à travailler à des moments différents, j'ai créé un Bot qui me dit l'heure de quitter le travail

Parce que le travail échelonné a commencé en raison de l'influence des maladies infectieuses récentes J'ai créé un Bot qui me dit l'heure de partir lorsque je poste l'heure de travail.

environnement

référence

Pour la structure des répertoires du projet SlackBot et la coopération avec Heroku, je me suis référé au site suivant. https://qiita.com/akabei/items/ec5179794f9e4e1df203

Code source

J'ai pu confirmer le fonctionnement de SlackBot sur la base du site auquel j'ai fait référence ci-dessus (j'ai fermé l'omikuji), je vais donc créer un code pour calculer le temps de départ

・ Calculez l'heure de départ en utilisant l'heure d'affichage comme heure d'arrivée

from datetime import datetime, timedelta, timezone
from slackbot.bot import listen_to

@listen_to(r'^Présence$')
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"))

Résultat de l'exécution ↓ ↓ キャプチャ1.PNG

Si tel est le cas, vous devrez envoyer un message immédiatement après votre arrivée au travail, alors créez un modèle qui vous permet de spécifier l'heure.

・ Spécifiez le temps de travail et calculez le temps de congé

import re
from datetime import datetime, timedelta, timezone

from slackbot.bot import respond_to, listen_to

@listen_to(r'^Présence\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"))

Résultat de l'exécution ↓ ↓ キャプチャ2.PNG

Quelle que soit l'heure à laquelle vous venez travailler, quelle heure est-il à l'heure? Je n'ai pas à m'inquiéter

Résumé

・ Il était facile de déployer et d'interagir avec SlackBot (car il y avait un article qui était organisé de manière facile à comprendre). ・ Parce que beaucoup de gens allaient travailler à des heures différentes, les trains à des heures tardives étaient bondés, donc finalement je suis retourné à l'heure d'origine et il n'y avait pas de place pour que Bot joue un rôle actif.

Recommended Posts

Depuis que j'ai commencé à travailler à des moments différents, j'ai créé un Bot qui me dit l'heure de quitter le travail
J'ai fait un bot mou qui m'informe de la température
[Python] J'ai créé un robot qui me dit la température actuelle lorsque j'entre un nom de lieu sur LINE
[Discode Bot] J'ai essayé de créer un Bot qui me dit la valeur de race de Pokemon
J'ai fait une simple minuterie qui peut être démarrée depuis le terminal
J'ai créé un konoha de bibliothèque qui fait passer le tokenizer à une belle sensation
J'ai créé un bot LINE qui me dit le type et la force de Pokémon dans la région de Garal avec Heroku + Flask + PostgreSQL (Heroku Postgres)
J'ai fait un outil pour estimer le temps d'exécution de cron (+ débuts de PyPI)
J'ai créé un LINE BOT qui renvoie une image de riz terroriste en utilisant l'API Flickr
L'histoire de l'adresse IPv6 que je souhaite conserver au minimum
J'ai créé un Line Bot qui utilise Python pour récupérer les e-mails non lus de Gmail!
J'ai créé un robot LINE qui envoie des images recommandées tous les jours à l'heure
Je veux créer un lecteur de musique et enregistrer de la musique en même temps
Avec LINEBot, j'ai fait une application qui m'informe de "l'heure du bus"
Je veux un bot Slack qui calcule et me dit le salaire d'un emploi à temps partiel à partir du calendrier de Google Agenda!
Les débutants en Python ont créé un chat BOT alors j'ai essayé de résumer comment le faire
Une histoire à laquelle j'étais accro chez np.where
J'ai fait une commande pour marquer le clip de la table
J'ai créé un programme en Python qui change les données de 1 minute de FX en une heure arbitraire (1 heure, etc.)
J'ai essayé de créer un Discord Bot sur Docker qui signale le nombre de personnes infectées par corona à Tokyo à un moment spécifié
J'ai converti le temps en un entier, je l'ai décomposé en facteurs premiers et j'ai fait un bot pour tweeter le résultat (matériel xkcd)
J'ai créé un outil pour obtenir les liens de réponse d'OpenAI Gym en même temps
J'étais tellement mou que je voulais qu'un avion national me soigne. Je n'ai pas de regrets.
J'ai créé une fonction pour découper l'image de python openCV, alors veuillez l'utiliser.
J'ai créé un package pour filtrer les séries chronologiques avec python
Grep pour que grep n'apparaisse pas au moment de grep
J'ai fait une fonction pour vérifier le modèle de DCGAN
Je veux créer un Dockerfile pour le moment.
J'ai fait un script pour dire bonjour à mon Koshien
J'ai créé un robot Line qui devine le sexe et l'âge d'une personne à partir de l'image
J'ai créé une fonction pour vérifier si le webhook est reçu dans Lambda pour le moment
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python
・ <Slack> Ecrire une fonction pour notifier Slack afin qu'elle puisse être citée à tout moment (Python)
J'ai fait un robot discord
J'ai essayé de faire un programme pour résoudre (indice) la recherche d'erreur de Saiseriya
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
J'ai créé un programme qui résout la recherche d'erreur en quelques secondes
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai créé un robot Twitter qui marmonne le Pokémon capturé par #PokemonGO
J'ai créé un bot de lecture de chat Discord en imitant l'apparence
J'ai fait une commande pour afficher un calendrier coloré dans le terminal
J'ai fait un programme qui calcule automatiquement le zodiaque avec tkinter
[python] Une note que j'ai commencé à comprendre le comportement de matplotlib.pyplot
Neat, dont l'emploi a été reporté à Corona, a lancé Docker, je vais donc laisser une note personnelle.
[Salut Py (Partie 1)] Je veux faire quelque chose pour le moment, alors commencez par fixer un objectif.
Il semble que l'API de messagerie ait été récemment publiée par LINE, j'ai donc créé un BOT qui analyse simplement la morphologie comme d'habitude.
J'ai fait un wikipedia gacha bot
[Python] J'ai fait un décorateur qui ne semble pas avoir d'utilité.
J'ai créé une application Web en Python qui convertit Markdown en HTML
Quand Selenium dit que la version du pilote Chrome est différente (Python)
[Django] a créé un champ pour saisir des dates avec des nombres à 4 chiffres
J'ai fait une minuterie de cuisine à afficher sur la barre d'état!
J'ai créé un bot Discord en Python qui se traduit quand il réagit
J'ai fait GAN avec Keras, donc j'ai fait une vidéo du processus d'apprentissage.
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
Configurer un serveur qui traite plusieurs connexions en même temps