Javajaotan
Javajaotanとは、jMS Gamers Clubおよび開発者が認可したDiscordサーバで動作するDiscord Botのシステムおよびプロジェクトのこと。
略歴
- 2019/06/01 開発開始
- 2019/07/12 本格稼働開始
ソースコード
Javajaotanのソースコードは以下で公開されている。
実装
コマンド
ここでは、Javajaotanに実装されているコマンドを記載・解説する。なお、最新の実装されているコマンドは/help
コマンドを実行することで確認できる。
ソースコードはsrc/main/java/com/jaoafa/Javajaotan/Commandにある。
<
と>
で囲われた引数はその引数が必須であることを示す。[
と]
で囲われた引数はその引数が任意であることを示す。- どちらとも、
<
>
[
]
は実際の実行時には不要。 <Message...>
など引数名の末尾に...
がある場合はそれ以降の引数をその引数として認識することを意味する。(一部例外有)<add|remove|list>
など引数名内で|
によって複数引数が示される場合、それぞれによって動作が異なる。- (例:
/chat [ChannelID] <Message...>
の場合、/chat Hello World
) - (例:
/chat Hello World
の場合、<Message...>
はHello World
) - (例:
/mute <add|remove|list> [UserID]
の場合、/mute add [UserID]
・/mute remove [UserID]
・/mute list
)
/help
- 説明:
コマンドの説明と使用方法を表示します。引数を指定しない場合、コマンドの一覧を表示します。
- 使用法:
/help [Command|Page]
- 実装日:
2019/07/12
/powa
- 説明:
「ポわ~~~~~~~wwww!!!w!ww!w!w」を発言されたチャンネルに投稿します。
- 使用法:
/powa
- 実装日:
2019/07/12
/bassline
- 説明:
ベースラインパーティーの途中の臨時ニュースを発言されたチャンネルに投稿します。
- 使用法:
/bassline
- 実装日:
2019/07/12
/blookup
- 説明:
ブロック編集等のデータのURLを発言されたチャンネルに投稿します。
- 使用法:
/blookup <PlayerID>
- 実装日:
2019/07/12
/tmttmt
- 説明:
「とまとぉwとまとぉw」をリプライします。
- 使用法:
/tmttmt
- 実装日:
2019/07/12
/chat
- 説明:
指定されたチャンネルにチャットを送信します。運営未満の権限の利用者はチャンネルの指定ができません。
- 使用法:
/chat [ChannelID] <Message...>
- 実装日:
2019/07/12
/getatama
- 説明:
アタマな言葉を生成します。
- 使用法:
/getatama
- 実装日:
2019/07/14
/mute
- 説明:
ミュート機能の制御ができます。運営のみ利用可能で、特定のチャンネルでのみ使用できます。
- 使用法:
/mute <add|remove|list> [UserID]
- 実装日:
2019/07/14
/recid
- 説明:
IDをメモするメッセージを発言されたチャンネルに投稿します。
- 使用法:
/recid
- 実装日:
2019/07/15
/potato
- 説明:
「(╮╯╭)」を発言されたチャンネルに投稿します。
- 使用法:
/potato
- 実装日:
2019/07/15
/userban
- 説明:
指定されたユーザーをBanします。特定のチャンネルでのみ使用できます。
- 使用法:
/userban <UserID>
- 実装日:
2019/07/29
/link
- 説明:
「Minecraft-Discord Connect」を行うためのAuthKeyを発行します。
- 使用法:
/link
- 実装日:
2019/08/09
/discordlink
- 説明:
Discordサーバではdiscordlinkが使用できないことをリプライします。
- 使用法:
/discordlink
- 実装日:
2019/08/26
/dislink
- 説明:
「Minecraft-Discord Connect」を解除します。
- 使用法:
/dislink
- 実装日:
2019/09/06
/toen
- 説明:
指定されたテキストを英語(en)に翻訳します。
- 使用法:
/toen <Text...> [from:LANG]
- 実装日:
2019/09/06
from:<LANG>
を指定すると元言語を設定できます。指定しないと自動で判定します。
明示的にfrom:auto
を指定すると、翻訳サービス側での言語判定がなされます。明示指定しないと、Javajaotan側で判定しその結果を元言語として判定します。
from:LANG
は/toenの次引数に配置しても、文章中に配置しても、最終引数に配置しても認識します。ただし、便宜上最終引数に配置することをお勧めします。
/toja
- 説明:
指定されたテキストを日本語(ja)に翻訳します。
- 使用法:
/toja <Text...> [from:LANG]
- 実装日:
2019/09/06
from:<LANG>
を指定すると元言語を設定できます。指定しないと自動で判定します。
明示的にfrom:auto
を指定すると、翻訳サービス側での言語判定がなされます。明示指定しないと、Javajaotan側で判定しその結果を元言語として判定します。
from:LANG
は/tojaの次引数に配置しても、文章中に配置しても、最終引数に配置しても認識します。ただし、便宜上最終引数に配置することをお勧めします。
/toenja
- 説明:
指定されたテキストを英語(en)に翻訳したあと、さらに日本語(ja)に翻訳します。
- 使用法:
/toenja <Text...> [from:LANG]
- 実装日:
2019/09/06
from:<LANG>
を指定すると元言語を設定できます。指定しないと自動で判定します。
明示的にfrom:auto
を指定すると、翻訳サービス側での言語判定がなされます。明示指定しないと、Javajaotan側で判定しその結果を元言語として判定します。
from:LANG
は/toenjaの次引数に配置しても、文章中に配置しても、最終引数に配置しても認識します。ただし、便宜上最終引数に配置することをお勧めします。
/tojaen
- 説明:
指定されたテキストを日本語(ja)に翻訳したあと、さらに英語(en)に翻訳します。
- 使用法:
/tojaen <Text...> [from:LANG]
- 実装日:
2019/09/06
from:<LANG>
を指定すると元言語を設定できます。指定しないと自動で判定します。
明示的にfrom:auto
を指定すると、翻訳サービス側での言語判定がなされます。明示指定しないと、Javajaotan側で判定しその結果を元言語として判定します。
from:LANG
は/tojaenの次引数に配置しても、文章中に配置しても、最終引数に配置しても認識します。ただし、便宜上最終引数に配置することをお勧めします。
/toswja
- 説明:
指定されたテキストをスワヒリ語(sw)に翻訳したあと、さらに日本語(ja)に翻訳します。
- 使用法:
/toswja <Text...> [from:LANG]
- 実装日:
2019/09/06
from:<LANG>
を指定すると元言語を設定できます。指定しないと自動で判定します。
明示的にfrom:auto
を指定すると、翻訳サービス側での言語判定がなされます。明示指定しないと、Javajaotan側で判定しその結果を元言語として判定します。
from:LANG
は/tojaenの次引数に配置しても、文章中に配置しても、最終引数に配置しても認識します。ただし、便宜上最終引数に配置することをお勧めします。
特定チャンネル対象機能
ここでは、Javajaotanに実装されている特定のチャンネルでのみ動作する機能を一部記載・解説する。
ソースコードはsrc/main/java/com/jaoafa/Javajaotan/Channelにある。
#greeting jaoafaキラー
greetingチャンネルにおいて、jao
afa
およびシステムメッセージ以外のメッセージが投稿された際にメッセージを削除する。また、jao
とメッセージが投稿された場合、MailVerified
権限グループを追加する。
#nsfw ファイルスポイラーチェッカー
nsfwチャンネルにおいて、画像などのファイルが投稿された際、それがスポイラーされているかどうかを判定し、スポイラーになっていなければそのメッセージを削除する。
全チャンネル対象機能
ここでは、Javajaotanに実装されている全チャンネルに対して動作する[1]機能を記載・解説する。
ソースコードはsrc/main/java/com/jaoafa/Javajaotan/ALLChatにある。
Calledjaotan
jaotan
とメッセージが投稿された際、Jaotan
とメッセージが投稿された際、もしくはjaotan
でなくJaotan
でもないjaotan
(jAotanやjaoTanなど)が投稿された際にそれぞれメッセージを返信する。
MessagePin
📌
がメッセージの先頭に設定されたメッセージが投稿・編集された際にそのメッセージをピン留めする。
その他機能
ここでは、Javajaotanに実装されている上記以外の機能を一部記載・解説する。
ソースコードはsrc/main/java/com/jaoafa/Javajaotan/Eventやsrc/main/java/com/jaoafa/Javajaotan/Taskにある。
- ServerJoin: Discordサーバにユーザーが参加した際にメッセージを送信する。
- ServerLeave: Discordサーバからユーザーが退出した際にメッセージを送信する。
- ServerBanned: DiscordサーバからユーザーがBanされた際にメッセージを送信する。
- ↑ ただしサーバはjMS Gamers Clubのみ