Discord.jsを使用したDiscordボットプロジェクトです!
- Discord.js v14を使用した最新のボット実装
- TypeScriptによる型安全な開発環境
- Drizzle ORMを使用したデータベース管理
- ESLintとPrettierによるコード品質管理
- 言語: TypeScript
- ランタイム: Node.js
- パッケージマネージャー: pnpm
- フレームワーク: Discord.js v14
- ORM: Drizzle ORM
- データベース: PostgreSQL
- ロギング: Winston + Logtail
- コード品質: ESLint, Prettier, Husky
# 依存関係のインストール
pnpm install
# 開発環境のセットアップ
pnpm prepare:dev
# 開発モードで起動
pnpm start:dev
# 本番モードで起動
pnpm start:prod
# コードのコンパイル
pnpm compile
# コードのリント
pnpm lint
# コードのフォーマット
pnpm prettier
RENAME.env
ファイルを.env
にリネームしてください- 以下の環境変数を設定してください:
# Discord application credential (required)
TOKEN=""
CLIENT_ID=""
# Discord server Leaderboard (optional)
DEFAULT_GUILD_ID=""
DEFAULT_CHANNEL_ID=""
DATABASE_URL=""
# Logtail (optional)
LOGTAIL_TOKEN=""
LOGTAIL_HOST=""
# Admin Webhook (optional)
ADMIN_WEBHOOK=""
# i18n Language ex:ja_JP (optional:default = en_US)
DEFAULT_LOCALE=""
# Enable / Disable command in discord server (required, true/false)
ENABLE_SUBCOMMAND_PING=""
ENABLE_SUBCOMMAND_SLOT=""
ENABLE_SUBCOMMAND_CHAMPION=""
ENABLE_SUBCOMMAND_DEV=""
ENABLE_SUBCOMMAND_LEVEL=""
ENABLE_SUBCOMMAND_NEWS=""
ENABLE_SUBCOMMAND_TEAM=""
.
├── drizzle/ # データベースマイグレーションファイル
│ └── migrations/ # マイグレーションの履歴
│
└── src/ # メインのソースコードディレクトリ
├── commands/ # スラッシュコマンドの実装
│ ├── admin/ # 管理者用コマンド
│ └── user/ # 一般ユーザー用コマンド
│
├── components/ # Discord UIコンポーネント
│ ├── buttons/ # ボタンコンポーネント
│ └── selects/ # セレクトメニュー
│
├── constants/ # 定数定義ファイル
├── contexts/ # コンテキストメニュー関連
├── data/ # 静的データファイル
│
├── db/ # データベース関連
│ ├── schema/ # テーブルスキーマ
│ └── queries/ # SQLクエリ
│
├── embeds/ # Discord埋め込みメッセージ
├── events/ # イベントハンドラー
├── messageCommands/ # レガシーメッセージコマンド
├── subCommands/ # サブコマンドの実装
│
├── templates/ # メッセージテンプレート
├── types/ # TypeScript型定義
├── utils/ # ユーティリティ関数
│
├── deployGlobalCommands.ts # グローバルコマンドデプロイ
├── index.ts # アプリケーションのエントリーポイント
└── logger.ts # ログ設定
MIT License
プルリクエストやイシューは大歓迎です!✨