SakuyaBot

東方Projectのキャラクター「十六夜咲夜」のツイッターbotです。

このbotはベータ版です!

botは現在ベータ版として、@398Botにて試験的に稼働させています。 予期せぬ不具合が含まれている可能性が非常に高いため、ご理解の上フォローをお願いいたします。

SakuyaBotは、ゲーム「東方Project」シリーズに登場するキャラクター、「十六夜咲夜」を模したツイッターBOTです。

自動リフォロー

botをフォローをすると自動でフォローした人をリフォロー(フォロー返し)を行います。(フォロワー稼ぎ目的のアカウント対策のため、リフォローには一定の条件があります。)

自動アンフォロー

botのフォローを解除すると自動でbotからのフォローも解除します。

リプライ反応

Botに対してリプライを送ると、リプライに含まれる語句に応じて何かしらの反応が返ってくることがあります。

紅茶

「紅茶」とリプライを送ると今日の紅茶を提供します。咲夜さんのチョイスは変わっているので、ちょっと変わったお茶も出るかも知れません。

また、お茶に使った草花の花言葉も教えてくれます。咲夜さんのbotはためになるなぁ!(これもごく稀に、どこで覚えたのかわからない不思議な花言葉を返したりします。)

献血

「献血」とリプライを送ると、咲夜さんが仕える吸血鬼のお嬢様方のごはんとなる血を捧げることができます。1人につき1日1回のみの制限があります。

誕生日設定・お祝い

「誕生日はX月X日」とリプライを送ることで、咲夜さんに誕生日を教えることができます。教えておくと、誕生日になった日の最初のツイートに対してお祝いのリプライを送ってくれます。

好感度

Botに対して送るリプライとその反応によって、フォローしている人に対する好感度が上下します。好感度が上がると反応してくれるリプライのパターンが充実していきます。

呼び名

botに呼んでほしい呼び名を設定してあげることができます。リプライで「「(呼んでほしい呼び名)」って呼んで」と送ることで設定可能です。

置換文字列 :NAME:(現在設定しているツイッターのユーザ名に置き換えられる)が使用できます。

技術的な話

咲夜さんのお部屋

AWS(Amazon Web Service)上でEC2(クラウドサーバ)を立て、そこで稼働しています。お値段を抑えるためアメリカリージョンを使用し、スポットインスタンスで稼働しています。

BotはNode.jsで動いており、pm2でデーモン化させています。

反応パターンの実装

以下のような感じのJSONファイル(リアクションプラグインと勝手に呼んでる)を記述し、botに読み込ませています。

{
  trigger_word: "こんに?ち[はわ]"  // トリガーワードを正規表現で指定
  reply_patterns: [       // 返答するメッセージの配列。Botでこのパターンからランダムに1つ選択する。
    "リプライ1",
    "リプライ2",
    "リプライ3"
  ],
  requires: {             // 反応する際の条件をここに記載する。
    date_m: 12,           // 特定の日付限定のリアクションはdate_mとdate_dにその日付を設定する。
    date_d: 25,
    min_lovelity: 20      // 必要な好感度の値(最小値)を設定する。
  },
  lovelity: 2             // 反応した際に上昇する好感度の数値を設定する。
},
{
  trigger_word: "ほげほげ",
  ... 
サポートアカウント(@SakuyaBot_Info)までリプライをお願いします。