discord用プリコネbotを作ってみた
みなさんはじめまして。ika(@ika__sv)と申します。
note初投稿になります。よろしくお願いいたします。
※注意※ この投稿ではbot作成方法やソースコードについての説明はありません。また、一部略称を用いて記載している箇所があります。予めご了承下さい。
まずは簡単に自己紹介を。
普段は都内でSEとして働くただの社畜です。今年で社会人4年目になります。生活費を某リンセス某ネクトに搾取され、食費を浮かせるために最近はもやし無限増殖栽培に興味を持ち始めています。
なんか凄そうなのを見つけました。
価格は約5000円。プリコネのガチャが16回まわせる計算です。しかしここはグッと我慢して、次回のクリスマスチカ復刻の費用に充てたいと思います。
ちなみに私にクリチカの話題は振るのはNGなのでそっとしておいてください。
おりゃん民つらい。
本題にいきます。
discord用bot作成の経緯
discord用bot作成の経緯を簡潔に述べると、単純に休日暇だったからというのと、以前からbot作成に興味があったからです。discordの知識もそこまでなければ、仕事では他言語を使用してるため、JavaScriptやPythonといった言語も未経験のほぼ初心者です。
いずれはプリコネゲーム内のコンテンツとして月に1回開催されるクランバトルでの進行を補助する機能を実装して、所属しているクランに還元したいという気持ちがあります。(使えるか使えないかは置いておいて…)
使用言語と実行環境について
discord.js v11.6.4を使用。(言語:JavaScript)
実行環境はGlitch。Google Apps ScriptからPOSTすることで24時間起動を実現させています。
botの仕様について
bot名はikabot。アイコンはプリコネ界のアイドルタマキです。
うん。可愛い。
( ´ω` )可愛い
関係ないけど猫飼いたい…
投稿日(2020/9/7)時点での機能については以下となります。
①挨拶や会話
概要:挨拶や簡単な会話に応答します。(スタンプも押してくれます)
コマンド例:おはようタマキ おやすみタマキ タマキ可愛いetc...
こんな感じです。可愛いスタンプまで押してくれます。ありがとうタマキ。語尾のにゃがとてもキュートです。他に隠しコマンドも用意しています。
②キャラクター図鑑
概要:キャラクターの年齢身長体重を応答します。
コマンド例:ムイミ ミヤコ
なんと、名前を呼んだだけで年齢と身長体重を教えてくれました。そんなデリケートな情報をむやみやたらに人に教えるんじゃない!!全く。
ちなみに全キャラ名前を呼ぶとbotが年齢身長体重を応答します。この機能については本当になんで作ったのか分かりません。正直1番実用性が無いです。もうちょっと有益な情報に変更するかもしれません。
③タマキ占い
概要:今日の運勢をタマキが占ってくれます。
コマンド:おみくじ 今日の運勢
文字通り、タマキが今日の運勢を占ってくれます。3%で大吉が出ます。(1%の大凶もあります) なんだか今なら行ける気がします。
\素敵な仲間が増えますよ〜!/
虚無虚無プ〇ン
ガチャはほどほどに。
④ダイス機能
概要:タマキがサイコロを振ってくれます。
コマンド:ダイス、サイコロ
こんな感じです。クラン内の争い事はは全て神に委ねましょう。信じるものは救われます。
④定期配信
概要:時間指定で定期的に情報を発信します。
こんな感じで指定した時間に情報を発信してくれます。運用が決まっていないので試験的に「定期」とだけ言わせてます。クラバト期間中の残り数時間で特定のアカウントに対してリマインドを送るようなこともできますので要検討です。
⑤クラバト凸報告機能
概要:凸終了ごとにスタンプにて報告すると、メンバーにロール(役職)が付与され、名前の色orメンバ一覧から凸の状況を確認することができます。
コマンド:凸報告1~5(1~3凸分のスタンプを作成)
使用方法は以下の手順です。
まずコマンドを投入します。
送信します。
こんな感じで3凸分のスタンプを生成し、botが補記してくれます。日付ごとに生成しなければならないため、「凸報告x」x=1~5(day)のようにコマンドを投入します。
凸が完了した段階で、上記で作成したスタンプを押下します。
すると押下したメンバの文字の色が変化します。discordの機能の一部にロール(役職)という機能があり、特定のスタンプを押下した時に自動でロールが割り当てられる仕組みです。
メンバ一覧を開くと、凸が完了したメンバの凸状況を確認することができます。
discordの仕様上、ロールの優先度によって下位のロールを上書く?仕組みがあるようで、優先度を 3凸完了>2凸完了>1凸完了に設定することで上手い具合に実装することができました。
3凸終了するとタマキと合流です。
ちなみにこんな感じでスタンプラリーみたいに後から確認できます。集めるのが楽しくて嫌でも3凸してしまいます。これで凸漏れは起きませんね!(圧力)
最後に
私自身初めてのbot作成で戸惑うことも多々ありましたかが、楽しく制作することができました。
botの公開予定はありませんが、また気が向いたら新しいものを作って見ようと思います。
最後までご覧頂きありがとうございました。
もし宜しければTwitterのフォローもお願い致します。(@ika__sv)
では👋