DiscordIntegrationを使って色々やってみた | Minecraft
DiscordIntegrationというForgeサーバーとDiscordサーバーでやり取りができるMod。
このModのconfigをいじったりして色々してみるという記事です。
DiscordIntegrationの入れ方や初期設定方法などはこの記事には書いていないので、こちらの記事を参考にしてください。↓
使用するバージョンは1.12.2。
他のバージョンのものとconfigの中身は一緒っぽいですが、若干違うところがあるかもしれません。
追加されたコマンドを使ってみる
/discord以降にDiscordIntegrationで追加されたコマンドがあるらしいので、tabキーで補完して確認してみました。
/discord config
/discord link
/discord online
/discord tps
/discord unlink
/discord unstuck
/discord uptime
があるみたいです。
/discord config
/discord config <load/reload/save>
このコマンドでDiscordIntegrationのコンフィグのロード、リロード、セーブが行えるみたいです。
/discord <link/unlink>
"allowLinking"がtrueの状態(デフォルト)で、
"allowDMCommands"をtrueにし、ボットに直接「!link」というメッセージを送ります。
4桁の数字が送られてくるので、五分以内に/discord link 4桁の数字でリンクできます。
/discord unlinkでリンクを解除できます。
リンクとはMinecraftのアカウントと、Discordのアカウントを紐づけることです。
/discord online
現在、Minecraftのサーバーにいるプレイヤーを表示します。
/discord tps
ディメンションごとのTPS、全体のTPSを表示します。
/discord upstuck <ユーザー名>
指定したプレイヤーをワールドのスポーン地点にテレポートします。
/discord uptime
Minecraftサーバーが起動してからどのくらいの時間が経ったのかを表示します。
Discordからコマンド使用
Discordからコマンドを実行するにはconfigに使用するコマンドの記述が必要です。
"commands":の内に
{
"name": "コマンド名",
"command": "実行コマンド",
"enabled": true
}
の形で追加します。複数追加する場合は、「,」を間に挟んでください。
「{ARGS}」はコマンドの後ろの文字列です。
「!」のあとに、コマンド名を打ちます。
「!」は "commandPrefix": "!",の"!"を変更すれば変えられます。
!gamemodeca
!killa
!gamemode survival riminosu13
"commands": の内に
{
"name": "!",
"command": "{ARGS}",
"enabled": true
}
を追加すれば、「!! コマンド」でどんなコマンドでも実行できるようになります。
!! tp riminosu13 123 100 -123
”name”などと同じところに"permissions"を追加し以下のように記述すると、権限も設定可能です。
"permissions": [
"role:123456789012345678",(role:DiscordのロールID)
"role:管理者",(role:Discordのロール名)
"user:123456789012345678",(user:DiscordのユーザーID)
"123456789012345678"(DiscordのユーザーID)
"user:ユーザー1#1234"(user:Discord名#タグ)
"ユーザー1#1234"(Discord名#タグ)
]
チャットのみにしてみる
サーバーが起動したときのメッセージやプレイヤーが参加したときのメッセージなどをすべてオフにして、チャットのみを表示する設定にしてみます。
これらを書き換えます。
"ignoreFakePlayerChat": true,
"relaySayCommand": true,
"relayMeCommand": true,
"canMentionEveryone": false,
"canMentionHere": false,
"messageIgnoreRegex": ,
"relayServerStart": true,
"relayServerStop": true,
"relayServerCrash": true,
"chatPrefix": "",
"canMentionUsers": true,
"canMentionRoles": true,
"discordChannel": [チャンネルID],
"relayAchievements": true,
"relayChat": true,
"relayCommands": true,
"relayPlayerJoin": true,
"relayPlayerLeave": true,
"relayPlayerDeath": true,
↓
"ignoreFakePlayerChat": true,
"relaySayCommand": false,
"relayMeCommand": false,
"canMentionEveryone": false,
"canMentionHere": false,
"messageIgnoreRegex": ,
"relayServerStart": false,
"relayServerStop": false,
"relayServerCrash": false,
"chatPrefix": "",
"canMentionUsers": true,
"canMentionRoles": true,
"discordChannel": [チャンネルID],
"relayAchievements": false,
"relayChat": true,
"relayCommands": false,
"relayPlayerJoin": false,
"relayPlayerLeave": false,
"relayPlayerDeath": false,
"relaySayCommands" - コマンドのメッセージ
"relayMeCommands" - コマンドのメッセージ
"relayServerStart" - サーバー起動時のメッセージ
"relayServerStop" - サーバー停止時のメッセージ
"relayServerCrash" - サーバーのクラッシュを検出したときのメッセージ
"relayAchievements" - プレイヤーが実績、進捗を達成したときのメッセージ
"relayChat" - チャットのメッセージ
"relayCommands" - コマンドのメッセージ
"relayPlayerJoin" - プレイヤーが参加した時のメッセージ
"relayPlayerLeave" - プレイヤーが退出した時のメッセージ
"relayPlayerDeath" - プレイヤーが死亡した時のメッセージ
自分で必要なものだけtrueにすればチャットだけにする以外にも色々できます。
複数のチャットチャンネルの追加
"channels"に新しいテキストチャンネルを追加します。
,
"テキストチャンネルID": {
}
"discordChannel"にテキストチャンネルのIDを入力します。
"discordChannel": [
テキストチャンネルID,
新しいテキストチャンネルID
],
テキストチャンネルID間には、「,」を入れてください。
ディメンションごとに分ける
下の方にある"dimensions"に”-1”(ネザー)、"0"(オーバーワールド)、"1"(エンド)を追加し、その中にチャットのみにしてみるの時と同じような設定を記述すると、ディメンションごとに設定できます。
チャットチャンネル1ではオーバーワールドのチャット。
チャットチャンネル2ではネザーのチャット。
このように設定してみたいと思います。
"dimensions": {
"-1": {
"discordChannel": [
チャットチャンネル2のID
]
},
"0": {
"discordChannel": [
チャットチャンネル1のID
]
},"1": {
}
}
"-1"(ネザー)に"discordChannel": [チャットチャンネル2のID]を追加します。
"0"(オーバーワールド)に"discordChannel": [チャットチャンネル1のID]を追加します。
チャットチャンネル1
チャットチャンネル2
このようにディメンションごとにチャットチャンネルを分けることができます。
メッセージの変更、日本語化
configの"message"の中にある
"chatMessage"- チャット
"command" - コマンド
"playerJoin" - プレイヤー参加
"playerLeave" - プレイヤー退出
"playerDeath" - プレイヤー死亡
"achievement" - 実績、進捗達成
"serverStart" - サーバー起動
"serverStop" - サーバー停止
"serverCrash" - サーバークラッシュ
これらの値を変更することによってメッセージを変更することができます。
試しに"serverStart"の値を変更してみます。
"serverStart": "Server started!",
↓
"serverStart": "サーバーが起動しました!",
日本語は文字化けするようです。
"serverStart": "Server started!",
↓
"serverStart": "\u30b5\u30fc\u30d0\u30fc\u304c\u8d77\u52d5\u3057\u307e\u3057\u305f!",
日本語をUnicodeに変換すれば問題ないようです。
「unicode 変換」で出てくるWebサービスを利用して変換してください。