pedmin

module
v0.0.0-...-6fa1468 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2026 License: MPL-2.0

README

Pedmin

Pedmin は、既存の多機能BOTの完全な代替として開発された、ユーザー・開発者フレンドリーなOSS多機能BOTです。

説明

ProbotやMee6などのBOTの代替となるべくオープンソースで開発された完全無料なDiscord多機能BOT。 Pedminは、レイヤードアーキテクチャに重きを置いた、新しく最適化されたコードで書かれています。 すべての実装でEmbedではなくComponents V2を使用しており、既存のBOTよりも優れたUI/UXを実現しています。

招待

[!WARNING] 招待には管理者権限が要求されます。 現在開発中なため、不定期の頻繁な再起動があります。

https://discord.com/oauth2/authorize?client_id=1484236709611704571

機能

  • 設定パネル/settings ギルドごとのモジュール有効化/無効化を管理する管理用UI
  • 音楽プレイヤー/player Jockie Musicの代替として作成されたシンプルで高音質、使いやすい音楽プレイヤー
  • サポートチケット — Ticket Toolの代替として作成されたサポートチケット機能、設定パネルから有効化できます
  • サーバーログ — 既存の多機能BOTのloggerの代替として作成されたイベントログ機能
  • RSS フィード — MonitoRSSの代替として作成されたRSSフィード監視・自動アナウンス機能
  • Embed Fix — 既存のEmbed修正BOTの代替、現在X / Tiktok / Reddit / Youtubeが対応
  • Tlanslator — メッセージに国旗の絵文字でリアクションすると、その言語に翻訳します
  • サーバーパネル/panel Pelicanパネルの操作用 (限定されたユーザーのみ)
  • URL ツール/url URL短縮(x.gd)& 安全スキャン(VirusTotal)
  • アバター表示/avatar サーバー/グローバルアバターを MediaGallery で表示
  • システム情報/fuckfetch neofetchからインスパイアされたシステム情報表示

技術スタック

技術 バージョン / ライブラリ
言語 Go 1.26.2
Discord disgo v0.19.2
Lavalink クライアント disgolink v3.1.0
Lavalink サーバー Lavalink 4 (Alpine)
データベース SQLite (modernc.org/sqlite)
設定 環境変数 + TOML (BurntSushi/toml)

アーキテクチャ

Go の標準的な大規模サービスレイアウト(cmd/, internal/, pkg/)に従い、パッケージ単位でレイヤーを分離しています。

cmd/pedmin/main.go       # エントリポイント: DI 配線、グレースフルシャットダウン
config/                  # 環境変数 + TOML 設定読み込み
migrations/              # SQL マイグレーションファイル (embed.FS)
pkg/deepl/               # 外部再利用可能な DeepL クライアント
internal/
├── module/              # Module インターフェース定義
├── bot/                 # Discord 接続、インタラクションルーティング
├── model/               # ドメイン型・設定型・定数
├── repository/          # GuildStore インターフェース + SQLite 実装
├── client/              # 外部 API クライアント
├── service/             # ビジネスロジック
├── handler/             # Discord インタラクションハンドラー
├── view/                # UI ビルダー(純粋関数)
└── ui/                  # 共有 UI ヘルパー

詳細は docs/ARCHITECTURE.md を参照。 docs/ ディレクトリに詳細ガイドがあります:

ライセンス

MPL-2.0

Directories

Path Synopsis
cmd
pedmin command
Package config loads application configuration from environment variables.
Package config loads application configuration from environment variables.
internal
bot
Package bot manages the Discord client lifecycle, module registry, and interaction routing.
Package bot manages the Discord client lifecycle, module registry, and interaction routing.
module
Package module defines the Module interface that all feature modules implement.
Package module defines the Module interface that all feature modules implement.
repository
Package repository defines the GuildStore persistence interface and generic helpers.
Package repository defines the GuildStore persistence interface and generic helpers.
ui
Package migrations embeds SQL migration files for database schema setup.
Package migrations embeds SQL migration files for database schema setup.
pkg
deepl
Package deepl provides a client for the DeepL translation API.
Package deepl provides a client for the DeepL translation API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL