本記事では例としておみくじを引けるコマンドを作りますが、じゃんけんコマンドや釣りコマンド、事前に登録した名言をランダムで返すコマンドなども同様の方法で作成可能です
用意するもの
- 配信サイト(TwitchやYouTubeなど)と連携したNightbot
まだ導入していない場合は「Nightbot 導入」などで検索して出てくるサイトを参考にNightbotと配信サイトと連携させる
作り方
Pastebinのアカウントを作る
(既にアカウントがある場合は次の手順へ)
https://pastebin.com/にアクセスしてアカウントを作成後、入力したメールアドレスに認証メールが届くのでそれを開いてURLをクリック
コマンドで表示するテキストのリストを作る
Pastebin上部の「+paste」をクリックして新しいペーストを作成
下記のルールに従って、コマンドが入力されたときに返すテキストのリストを作る
- リスト全体を
[
と]
(半角の角かっこ)で囲む - それぞれのテキストを下記いずれかの記号で囲む
・"
と"
(半角ダブルクォーテーション)
・'
と'
(半角シングルクォーテーション)
・`
と`
(半角バッククオーテーション) - テキスト間は
,
(半角カンマ)で区切る
例えばこんな感じ
リストを見やすくするために改行してもOK
ページ下部の設定を下記の通り変更して「Create New Paste」をクリック
- Syntax Highlighting: None
- Paste Expiration: Never
ペーストの有効期間、Neverは期限なし
- Paste Exposure: Public または Unlisted
ペーストの公開範囲、Publicは誰でもアクセス可能(一般公開)、UnlistedはURLを知っていればアクセスできる(限定公開)
PrivateにするとNightbotがペーストにアクセスできずエラーが出てしまうので注意 - あとの3項目は何でもOK、Paste Name / Titleはこの後設定するNightbotのコマンド名と同じ名前にしておくと分かりやすい
作成したペーストを編集する場合は「edit」をクリック
※編集完了後ページ下の「Save Paste」で変更を保存するのを忘れずに!
Nightbotにコマンドを登録する
リストを作成したペーストの画面で「raw」をクリックし、表示されたページのURL(https://pastebin.com/raw/で始まるやつ)をコピーする
Nightbotのサイトに移動しログイン、Commands > Customページの「+Add Command」をクリック
Command欄に登録したいコマンド名を入力(この文字列がチャットに入力されたときにNightbotが自動返答する)、Message欄に以下のコードをコピペ →【PASTEBINURL】の部分を先程コピーしたURLに書き換える
$(eval a=$(urlfetch json 【PASTEBINURL】);a[Math.floor(Math.random()*a.length)])
画像のようにできたら「Submit」をクリックしてコマンドを登録
Message欄に入力したコードの前後に文字を入れることもできる
コマンドの動作を確認する
配信サイトで自身のページを開き、先程Nightbotに登録したコマンドをチャットに送信
Nightbotから返答があればOK(画像はTwitchの画面)
コピペしたコードの前後に文字を入力している場合は以下のような返答になる
うまく動作しないときのFAQ
Q. コマンドを入力しても何も表示されない
Q. コマンドを入力したら「Unexpected identifier」と表示される
A. 以下の項目を確認
Pastebin側[
で始まり]
で終わっているか- 各テキストは半角クオーテーション記号で囲まれているか
- テキスト間は
,
(半角カンマ)で区切られているか - クオーテーション記号で囲われている部分以外に全角スペースが入力されていないか
- 設定のPaste Exposureが「Private」になっていないか
- Message欄の「json」とURLの間に半角スペースはあるか
Q. 「Code generation from strings disallowed for this context」と表示される
Q. その他よくわからない文字列が表示される
$(
~)
の中身に余分な文字・足りない文字がないか確認よくわからなかったらもう一度コピペし直す
コメントを投稿