Alice in Discordの基礎
この記事では、AliceScriptの重要な機能と、Discordから使用できるAliceの機能の詳細について説明します。AliceScriptはDiscord外でも使用できますが、ここではAlice in Discordを使用する機能のみを扱います。
このガイドでは、いつもいるサーバーでAlice in Discord(以降ありすたん)が導入されていることを仮定します。多くのサーバーにはありすたんなど参加していないのですが、確実なのはサーバーの管理者に聞いてみることです。 サーバーがありすたんを導入している場合、何もする必要はありません。プログラミングしてデプロイするだけで、ありすたんがこれを自動的に認識してくれます。何もコンパイルする必要なく、他のツールも必要ありません。
もしあなたのいるサーバーにありすたんが導入されている場合は、Alice in DiscordのBotをあなたのサーバーに導入してください。
レッスン1
ステップ1
ここでは、あなたのサーバーに参加している尊い友人の通知を荒らしてしまうことがないように、DMで作業を行うことにしましょう。
所属するサーバーのメンバー一覧から、「Alice in Discord」を選択し、DMを送信します。
ステップ2
以下の内容をありすたんとのDMで送信してください。(この作業をプログラムを作成といいます)ただし、ひとつのメッセージで送る必要があるため改行を挟まなければなりません。メモ帳などで事前に入力したものを張り付けるとよいでしょう。
続いて、DMで次のコマンドを送信します。
すべてが正しく実行されている場合、このプログラムはありすたんにより解析され実行され、以下の出力が返答として帰ってきます。
このプログラムは、Hello,World
を、AliceScriptのPrint関数によって出力しています。
レッスン2
次に、より実用的なことをしてみましょう。ユーザーの特定の発言に反応するBotを作ってみましょう。まずは以下の内容でプログラムを作成してください。
/push nya
me.Recived+=delegate(e)
{
if(e.Content=="にゃ~ん")
{
print("にゃにゃ~ん");
}
}
delay(-1);
これは、にゃ~んと発言されたときに、にゃにゃ~んと返答するプログラムです。/start nya
を送信して実行できます。
先ほどの例と違ってこのプログラムが自動で終了することはありません。遊び終わったら、/exit nya
を送信して終了しましょう。
コードの解説
/push nya
によって、nya
という名前のプログラムを作成します。
me.Recived+=delegate(e){ /* 命令 */ }
:は、同じサーバーで何らかの発言を受取ったときに実行される命令です。ここで、e
は、発言を表す変数です。
if(e.Content=="にゃ~ん"){ }
は、if(条件){}
の形をとり、ここでは受取った発言がにゃ~ん
の時に実行する命令を波括弧内に定義しています。
print("にゃにゃ~ん");
とすることでBotがにゃにゃ~ん
と発言します。
通常はありすたんが下まで解析し終わるとプログラムは終了しますが、delay(-1);
とすることで終了しないようにします。