Alice in Discordの基礎

この記事では、AliceScriptの重要な機能と、Discordから使用できるAliceの機能の詳細について説明します。AliceScriptはDiscord外でも使用できますが、ここではAlice in Discordを使用する機能のみを扱います。


taiseiue | 2021-08-16

このガイドでは、いつもいるサーバーでAlice in Discord(以降ありすたん)が導入されていることを仮定します。多くのサーバーにはありすたんなど参加していないのですが、確実なのはサーバーの管理者に聞いてみることです。 サーバーがありすたんを導入している場合、何もする必要はありません。プログラミングしてデプロイするだけで、ありすたんがこれを自動的に認識してくれます。何もコンパイルする必要なく、他のツールも必要ありません。

もしあなたのいるサーバーにありすたんが導入されている場合は、Alice in DiscordのBotをあなたのサーバーに導入してください。

レッスン1

ステップ1

ここでは、あなたのサーバーに参加している尊い友人の通知を荒らしてしまうことがないように、DMで作業を行うことにしましょう。

所属するサーバーのメンバー一覧から、「Alice in Discord」を選択し、DMを送信します。

ステップ2

以下の内容をありすたんとのDMで送信してください。(この作業をプログラムを作成といいます)ただし、ひとつのメッセージで送る必要があるため改行を挟まなければなりません。メモ帳などで事前に入力したものを張り付けるとよいでしょう。

Alice in Discord
/push hello
 print("Hello,World");

続いて、DMで次のコマンドを送信します。

Alice in Discord
/start hello

すべてが正しく実行されている場合、このプログラムはありすたんにより解析され実行され、以下の出力が返答として帰ってきます。

Alice in Discord
 Alice in Discord>Hello,World

このプログラムは、Hello,Worldを、AliceScriptのPrint関数によって出力しています。

レッスン2

次に、より実用的なことをしてみましょう。ユーザーの特定の発言に反応するBotを作ってみましょう。まずは以下の内容でプログラムを作成してください。

Alice in Discord
 /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);とすることで終了しないようにします。