Skip to content

A multi-purpose Discord bot built with TypeScript and discord.js, designed for server management, community engagement, and Minecraft server integration.

Notifications You must be signed in to change notification settings

chev0004/maybe-bot

Repository files navigation

Maybe-Bot

Maybe-Botは、サーバー管理、Minecraftサーバー連携、ソーシャルコマンドなど、さまざまな機能を備えたDiscordボットです。
Maybe-Bot is a Discord bot with various features such as server management, Minecraft integration, and social commands.


🧩 主な機能 | Features

  • サーバー管理 | Server Management: メッセージ削除、未認証メンバーのリスト表示、ロール管理。
    Purge messages, list unverified members, and manage roles.

  • Minecraft連携 | Minecraft Integration: サーバーの起動、停止、ステータス監視。
    Start, stop, and monitor a Minecraft server.

  • ソーシャル | Social: 匿名での告白や返信などのコミュニケーション機能。
    Anonymous confessions and replies between users.


⚙️ コマンド | Commands

🔧 管理者 | Admin

/purge

チャンネルからメッセージを削除。
Delete messages from a channel.
オプション | Options:

  • amount: 削除するメッセージ数 (1–100)
    Number of messages to delete (1–100)
  • user: このユーザーのメッセージのみ削除
    Delete only messages from this user
  • link: このメッセージまで削除
    Delete messages up to this message

purgeto

特定のメッセージまでメッセージを削除。
Purge messages up to a specific message.

image

🧭 管理 | Management

/listunverified

認証ロールを持たないメンバーをリスト表示。
List members without the verified role.
オプション | Options:

  • test: テストモードで偽データを生成
    Generate fake data in test mode
image

⛏️ マインクラフト | Minecraft

/smite

人に神罰を与える。
Punish someone with the Wrath of God.
オプション | Options:

  • victim: 神罰を受ける者の名前
    Name of the victim to smite
image

/startserver

マイクラサーバーを起動。
Start the Minecraft server.

image

/statusserver

マイクラサーバーの現在状況を表示。
Display the current Minecraft server status.

image

/whitelist

マイクラサーバーのホワイトリストにユーザーを追加。
Add a user to the Minecraft server whitelist.
オプション | Options:

  • username: ホワイトリストに追加するユーザー名
    Username to add to the whitelist
  • bedrock: 統合版ユーザーならtrue
    Set to true if the user is on Bedrock Edition
image

👑 オーナーのみ | Owner Only

/restart

BOTを再起動。
Restart the bot.

/update

GitHubから最新のコミットを取得し、BOTを再起動。
Pull the latest changes from GitHub and restart.
オプション | Options:

  • test: 実際の更新を行わずテストモードで実行
    Run in test mode without applying updates
  • force: ローカルの変更を強制上書き
    Force overwrite local changes
  • test_scenario: テストモードでシナリオ指定
    Specify a test scenario when running in test mode
image

💬 ソーシャル | Social

/confess

匿名でメッセージを投稿。
Post an anonymous confession.

image

/reply

特定の投稿に匿名で返信。
Reply anonymously to a specific confession.
オプション | Options:

  • id: 返信対象の投稿ID
    ID of the confession to reply to
image

📊 統計 | Stats

/top

サーバーランキングを表示。
Display server leaderboards.

image

🧰 ユーティリティ | Utility

/uptime

BOTの稼働時間を表示。
Display the bot's uptime.

image

/vc

一時的なボイスチャンネルを作成。
Create a temporary voice channel.
オプション | Options:

  • emoji: チャンネル名に使用する絵文字
    Emoji to include in the channel name
  • jpname: ボイスチャンネル名(日本語)
    Voice channel name in Japanese
  • enname: ボイスチャンネル名(英語)
    Voice channel name in English
  • limit: ユーザー制限(0で無制限)
    User limit (0 for unlimited)
image

🎧 リスナー | Listeners

  • Disboard Bump: DisboardのBumpを検知して通知。
    Detects Disboard bumps and sends notifications.
  • Dissoku Bump: DissokuのBumpを検知して通知。
    Detects Dissoku bumps and sends notifications.
  • Introduction Message: 自己紹介を自動で確認し、正しければメンバーロールを付与。
    Automatically validates introductions and assigns the member role if valid.
  • Message Stat Tracker: メッセージ数とアクティビティを記録。
    Tracks message counts and activity levels.
  • Voice State Update: ボイスチャンネルの入退室やチャンネル移動を記録。
    Records voice channel joins, leaves, and channel swaps.

🧑‍💻 開発 | Development

セットアップ | Setup

  1. リポジトリをクローン
    Clone the repository
    git clone https://github.com/chev0004/maybe-bot.git
  2. 依存関係をインストール
    Install dependencies
    npm install
  3. .env.example.env にコピーして環境変数を設定
    Copy .env.example to .env and configure environment variables
  4. データベースをマイグレート
    Migrate the database
    npx drizzle-kit migrate
  5. ビルド
    Build the project
    npm run build
  6. 起動
    Start the bot
    npm start

環境変数 | Environment Variables

# Discord Bot
OWNER_ID=
TOKEN=
CLIENT_ID=
GUILD_ID=
TEST_GUILD_ID=

# Roles
BUMP_ROLE_ID=
VERIFIED_ROLE_ID=

# Channels
VOICE_CATEGORY_ID=
BUMP_CHANNEL_ID=
WELCOME_CHANNEL_ID=
VOICE_LOG_CHANNEL_ID=
CONFESSIONS_CHANNEL_ID=

# Exaroton (Minecraft)
SERVER_ID=
API_TOKEN=

# Database
DATABASE_URL=

スクリプト | Scripts

# TypeScriptをビルド
npm run build

# BOTを起動
npm run start

# 開発モード (自動ビルド・再起動)
npm run dev

# Biomeでコードをチェック・フォーマット
npm run lint

# Biomeでコードをフォーマット
npm run format

💡 Motivation

Maybe-Bot began as a way to bring new, fun, and useful features to my Discord community. As I started building it, the project also became the perfect opportunity to apply the architectural patterns and modern tooling I used in my professional work.


About

A multi-purpose Discord bot built with TypeScript and discord.js, designed for server management, community engagement, and Minecraft server integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published