>cat/works/attendance-bot/README.md
title: Discord 出退勤bot — 勤怠打刻+管理ダッシュボード
year: 2026
role: Design / Full Stack
category: 受託
stack: Cloudflare WorkersHonoD1Discord APIGrok APITypeScript
普段の
打刻は/teiji と、/zangyo の
| コマンド | 内容 |
|---|---|
/teiji | 勤務をstart・end |
/zangyo | 残業を |
/tag | 今日の |
/dashboard | 管理ダッシュボードの |
/ask | 今月の |
管理ダッシュボード
同じ*.workers.dev のまま)でも
設計上の工夫
- 時刻の
扱い :保存は UTC ISO8601、 表示・集計の 境界で のみ JST に 変換。 出勤状態 (未出勤/勤務中)は 「日付フィルタなしの 最終ログ」から 導出する ため、 日跨ぎや 打刻の 押し忘れに 強い。 - 集計と
AI の :分離 /askはSQL で 数値を 確定集計してから、 Grok には 言い回しだけを 依頼する。 金額や 時間の 計算を LLM に 渡さないので、 集計値が 崩れない。 - 記録の
安全性 :打刻ログ自体はappend-only。 ミスの 恒久修正が 運用上の 要だった ため、 ダッシュボードからの 訂正・削除・追加のみ UPDATE/DELETE/INSERTを直接行う 設計に しています。