🔑 Tomachi Emojis Discord サーバー間でロール(権限)を同期するツールです。
ソース Discord サーバーのロール情報を取得し、複数の宛先 Discord サーバーに同期します。Tomachi Emojis の複数サーバー間で権限を一元管理するために使用します。
- ソースサーバーからロール情報を取得
- 複数の宛先サーバーにロールを同期
- 定期的な自動同期
- Node.js(
.node-version参照) - pnpm
- Discord Bot Token(適切な権限が必要)
# リポジトリのクローン
git clone https://github.com/tomacheese/tomachi-emojis-sync-perms.git
cd tomachi-emojis-sync-perms
# 依存関係のインストール
pnpm install設定は 2 つのファイルに分かれています。
Discord Bot のトークンを設定します。
{
"discord": {
"token": "your-discord-bot-token"
}
}サーバー間のロール同期設定を YAML 形式で記載します。
sourceGuild:
guildId: "source-server-id"
roles:
- type: "admin"
roleId: "role-id"
destGuilds:
- guildId: "destination-server-id"
roles:
- type: "admin"
roleId: "role-id"# 実行
pnpm start
# 開発モード(ファイル変更を監視)
pnpm devDocker で実行する場合は、設定ファイルをコンテナにマウントする必要があります。
data/config.jsonとdata/linking.ymlを作成しますcompose.yamlでボリュームマッピングを設定します
services:
app:
build: .
volumes:
- type: bind
source: ./data/config.json
target: /data/config.json
- type: bind
source: ./data/linking.yml
target: /data/linking.yml
init: true- コンテナを起動します
docker compose up -d設定ファイルのパスは環境変数でカスタマイズできます:
CONFIG_PATH: 設定ファイルのパス(デフォルト:/data/config.json)LINKING_PATH: リンク設定ファイルのパス(デフォルト:/data/linking.yml)