1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Nightbotで「簡易的でない」おみくじを作る

Last updated at Posted at 2023-12-26

配信者向けツール「Nightbot」

Nightbotとは、Twitch、YouTubeのライブ配信で利用できる
「チャット機能」を管理するためのWebサービスです。

ライブ配信中、一定の間隔で宣伝や注意書きコメントを流すのがメインになると思いますが、
Javascriptが利用できることを活用し、コマンド経由で遊ぶこともできます。

Nightbotで簡易的なおみくじを作る

( Nightbot 導入の方法は省略します)

Nightbot には、独自の変数があり、
$(eval) 変数でJavaScriptを使用できます。

コマンドを追加するには、
Nightbot の Commandos > Custom から追加できます。
青いボタン [+Add command]から、Messageに以下のコードを入力。

$(user)の運勢は$(eval X=['大吉','','中吉','小吉,'末吉',''];X[Math.random()*X.length|0];)だよ~!

Command の欄には「おみくじ」と入れておきましょう。
これで、ちゃんと機能するはずです。

Nightbotを導入したライブ配信で
チャット欄に「おみくじ」を入力すると

せすじピンとしてますの運勢は末吉だよ~!

みたいなコメントが返ってくるはずです。
末吉かぁ、そうかぁ。。

Nightbotで「簡易的でない」おみくじを作る

今回の記事の「簡易的でない」おみくじとは、
「確率の異なる」おみくじにしたいと思います。

早速コードを書いていくのですが、
Command の欄は小さく、500文字以上のコードは入力できません。
それを解決するため、Pastebin を利用します。

1.Pastebinのコード

せっかくなので、今回はおみくじではなく
Nightbot とじゃんけんさせましょう。
(ユーザーが任意の手を出す方法もありますが、今回はランダムです)

var X=[
[19,'グー!【YOU LOSE】俺の勝ち!負けは次につながるチャンスです!ネバーギブアップ!'],
[19,'チョキ!【YOU LOSE】俺の勝ち!たかがじゃんけん、そう思ってないですか?それやったら明日も、俺が勝ちますよ。'],
[14,'パー!【YOU LOSE】俺の勝ち!なんで負けたか、明日まで考えといてください。そしたら何かが見えてくるはずです。'],
[5,'パー!【YOU LOSE】俺の勝ち!1年間何やってたんですか?この結果はじゃんけんに対する意識の差です。'],
[1,'グー!【YOU WIN】やるやん。明日は俺にリベンジさせて。'],
[1,'チョキ!【YOU WIN】やるやん。明日は俺にリベンジさせて。'],
[1,'パー!【YOU WIN】やるやん。明日は俺にリベンジさせて。']
];
 
/* 分母 */
b=0;for(i=0;i<X.length;i++) b=b+X[i][0];
/* 乱数 */
r=Math.random()*b|0;
/* 5%でじゃんけん勝利 */
c=0;for(i=0;i<X.length;i++){c=c+X[i][0];if(r<c){A=X[i][1];break;}}

2019年にペプシのキャンペーンで行われた、
本田圭佑とじゃんけん をするやつを使いました。

本キャンペーンの勝率は0.7%だったそうですが、
今回は妥協して勝率を5%に設定。
1列目の数字が大きいほど、その結果が出やすくなります。

最後の変数を返すため、returnは必要ないようです。
(変数Aに結果を入れています)

2.Nightbot の Command

Nightbot の Command は以下の通り(XXXXXXX は作成したPastebinのURL)

$(user)$(eval $(urlfetch json https://pastebin.com/raw/XXXXXXX))

$(urlfetch) 変数は、URLを呼び出せる変数です。
Command の欄には「じゃんけん」と入れておきます。

さて、結果は目に見えていますが、
Nightbotを導入したライブ配信で
チャット欄に「おみくじ」を入力しましょう。

せすじピンとしてますのパー!【YOU LOSE】俺の勝ち!なんで負けたか、明日まで考えといてください。そしたら何かが見えてくるはずです。

対戦ありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?