~/hayashigoto

> ~/hayashigoto/works/attendance-bot/

README.md

Discord出退勤bot — 勤怠打刻と管理ダッシュボード

Discordで出退勤を打刻し、Web管理画面で閲覧、訂正、出力まで行える勤怠管理システム。打刻botと管理画面をCloudflare上にまとめ、専用サーバーなしで運用できる構成にした。

project.yml
year:
2026
role:
Product Design / Full-stack Development
category:
受託
stack:
TypeScriptHonoCloudflare WorkersCloudflare D1Discord API
links.yml
details.md

普段の業務連絡で使っている Discord 上だけで出退勤を打刻でき、勤怠の集計・訂正・出力は Web 管理ダッシュボードで行う勤怠管理システムです。打刻ボットと管理ダッシュボードを同一の Cloudflare Workers で配信し、データは D1(SQLite 互換)に保存。独自サーバーを持たずに運用できる構成にしました。

日常の入口を変えない

従業員はDiscordのスラッシュコマンドから定時勤務、残業、現場名を記録します。応答は本人だけに表示し、普段使う連絡ツールの外へ移動せずに打刻を終えられるようにしました。管理者と本人による訂正、削除、追加はWeb側へ分離し、日常の入力と管理作業を混ぜていません。

数値はデータベースで確定する

管理画面では月別集計、日別の勤怠ヒートマップ、訂正、CSV・JSON出力を扱います。Discord OAuth2と所有権チェックにより、管理者は全員分、メンバーは自分の記録だけを操作できます。

AIによる問い合わせ機能も、勤務時間や金額をモデルに計算させません。SQLで数値を確定してから、回答文の組み立てだけをモデルへ渡します。保存時刻はUTC、表示と集計の境界でJSTへ変換し、日をまたぐ勤務も同じ基準で扱います。

専用の勤怠サービスを増やすのではなく、既存のDiscord運用へ必要な入力だけを足し、確定データの管理をWebへ逃がした案件です。