Discordbot (TRIal)
使用技術
Bot フレームワーク
- discord.py (Bot 本体・スラッシュコマンドの実装)
- discord.ui (ボタン・モーダル・ドロップダウンなどのインタラクティブ UI)
- asyncio / aiohttp (非同期イベントループ・ノンブロッキング HTTP 通信)
バックエンド・API
- Django (Web フレームワーク全体、管理コマンドの提供)
- Django REST Framework (REST API の実装)
- MySQL (ゲーム戦績・ユーザー・ギルド情報の永続化)
AI 連携
- Google Gemini API ( /quiz コマンドの問題文を自動生成)
インフラ・開発
- GitHub Actions (PR 時に Copilot が自動コードレビュー)
- flake8 (コードスタイルの静的解析)
Bot コマンド一覧
/quiz
- Google Gemini API が自動生成した3択クイズを出題
- ボタンで回答、60秒タイムアウト
- 最初に正解したプレイヤーが勝者、結果を DB に記録
/quiz-result / /quiz-result-list
/wakewake
- ボイスチャンネルのメンバーを3人ずつランダムにグループ分け
- 最低6人が必要、3人未満のグループは作らない
/flash
- 暗算スピード勝負ゲーム
- 桁数(1〜5)・数の個数(3〜20)・表示速度(0.2〜3.0秒)を設定可能
- モーダルで答えを入力、最速正解者が勝者
/bluff_number
- 3人対戦のブラフゲーム
- 各プレイヤーに秘密の数字(1〜10)が配られ、合計値をめぐって宣言・チャレンジ
- 3ラウンド制、スコアで最終勝者を決定
/nyaagenesis
- 連携ブラウザゲーム「NyaaGenesis」の URL を DM で送信
ブラウザゲーム (NyaaGenesis)
使用技術
フロントエンド
- Next.js (UI 全体のフレームワーク)
- framer-motion (画面遷移・UIアニメーション)
- Web Audio API (BGM・効果音をライブラリなしで合成)
バックエンド・通信
- TypeScript (フロント・サーバー両方で型安全に開発)
- Socket.IO 4 (リアルタイムの双方向通信)
- Node.js カスタムサーバー (Next.js と Socket.IO を同一サーバーで統合)
インフラ
- Railway (サーバーのデプロイ先)
- GitHub Actions (PR 時に Copilot が自動コードレビュー)
NyaaGenesis のゲーム内容
- 3人同時対戦、中央から飛んでくる弾を避ける弾幕回避ゲーム
- HP 制(3つ)— 被弾でHP減少、0で脱落。最後の1人が勝者
- 被弾後は2秒間の無敵時間あり
- ノックバックアイテムがフィールドにランダム出現。取得して敵に体当たりすると吹き飛ばせる
- 時間経過で弾の数・速度が増加し、徐々に難化
githubリポジトリ
https://github.com/tobakuro/DiscordGameBot_DodgeGame