Gatherの入退室通知ツール

2024年9月 - 2025年1月

趣味
Screenshot 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に通知を送信