Gatherの入退室通知ツール
2024年9月 - 2025年1月
趣味

プロジェクト概要
Gatherというオンラインワークスペースの入退室をSlackで通知するツールを開発しました。Gather APIを使用してプレイヤーの入退室を監視し、リアルタイムでSlackに通知する機能を実装しました。入室時には「誰が入室したか」と「ルームにいるプレイヤー一覧」を通知し、退出時には「誰が退出したか」と「ルームにいるプレイヤー一覧(退出後)」を通知します。SQLiteを使用してプレイヤーの状態を管理し、node-scheduleを使用して定期的に状態をチェックする仕組みを実装しました。
アーキテクチャ
TypeScriptとNode.jsを使用して開発しました。@gathertown/gather-game-clientを使用してGather APIと接続し、プレイヤーの入退室を監視します。SQLiteを使用してプレイヤーの状態を永続化し、前回の状態と比較して変化があった場合にSlackに通知します。Slackへの通知はIncoming Webhooksを使用して実装しました。node-scheduleを使用して定期的に状態をチェックするスケジューラーを実装しています。
技術的挑戦
- Gather APIの理解と接続方法の調査 → @gathertown/gather-game-clientを使用してGather APIと接続し、プレイヤーの状態を取得
- プレイヤーの状態管理と入退室の検知 → SQLiteを使用して前回の状態を保存し、現在の状態と比較して変化を検知
- Slackへの通知機能の実装 → Incoming Webhooksを使用してSlackに通知を送信