この記事では前回に引き続き、Nightbotの設定画面について更に更に掘り下げて今回はCommand:Custom(カスタムコマンド)の概要と、設定方法を説明します。
Twitchでゲーム配信をしていて「ツイッターのURLを聞かれたら自動でURLを返信したい」や「ゲームのIDを自動で返答したい」などと思うことはありませんか?
そんなとき自分の考えたコマンドと返答を自由に組み合わせて設定することができるのがカスタムコマンドです。
カスタムコマンドは必須ではありませんが、かなり柔軟性がありますので一度設定方法を覚えてしまえば色々な用途で活用ができるようになりますよ。
特に海外では”!so”もしくは”!shoutout”というコマンドがポピュラーでよく使われていますがデフォルトでは用意されていないコマンドですので、その設定方法も合わせて紹介します。
前回の記事を読んでいない方はこちらからどうぞ
カスタムコマンドの概要と設定方法
カスタムコマンドとは
カスタムコマンドとは、デフォルトコマンドとは別に任意のキーワードを設定することができ、そのキーワードがチャットで書き込まれた際に任意のコメントを返すようにできる機能です。
カスタムコマンドの設定方法
Nightbotのダッシュボード(Nightbot管理画面のホームページ)にアクセスします。
https://nightbot.tv/dashboard
※もしTwitchアカウントなどでのログインができていない場合は、ログインしなおしてください。
Nightbot管理画面左のメニューにある”Command”→”Custom”をクリックします。
初期状態ではここには何も表示されていませんので、自分で新しいカスタムコマンドを追加するために、画面右側にある”+Add Command”ボタンをクリックします。
するとデフォルコマンドやスパムフィルターのオプションと似たようなメニューがポップアップしますので各項目について説明します。
項目 | 概要 |
---|---|
Command | ここにキーワードにしたい言葉を設定します。言葉の最初に「!」をつけることで、通常のメッセージには反応しないように設定することが多いですが、あえて「!」をつけないことで、わざと反応させることもできます。(普通チャットでは文頭に「!」をつけないため) ここで設定したキーワードがチャットでコメントされたときに、次の項目で指定するメッセージがNightbotから返答されます。 |
Message | Commandで指定したキーワードがチャットでコメントされたときに、Nightbotが返答するメッセージをここで設定します。 色々な変数(便利な定型文のようなもの)が用意されていますが、変数を使わずに単純なメッセージを返すこともできます。 |
Userlevel | このコマンドを使用できるユーザ権限レベルを指定します。乱用されたくないコマンドを設定する場合は、権限レベルを高く設定するなど使い分けてください。 |
Cooldown | クールダウンの秒数設定ができます。デフォルトでは5秒間となっており、一度このコマンドを使用したら5秒間経つまで同じコマンドは使えません。 |
Alias | エイリアスです。複数のコマンドを同じ機能として設定したいときに便利です。挙動を理解していないと使い方が難しく感じるので、少し後で説明します。 |
試しに簡単な例として「!blog」とチャットでコメントすると、NightbotがこのブログのURLを返答してくれるように設定してみました。
ユーザ権限レベルは特に高くする必要はないので「Everyone」を選択しています。
このように設定するだけで、誰でも「!blog」というコマンドを使うことができ、Nightbotは「Check out our blog https://ysyk33.com」というメッセージを返答してくれます。
変数は使っていないので、メッセージ部分やURLを書き換えるだけで自由に応用ができます。
実際にTwitchのチャットで「!blog」コマンドを試してみました。
「!blog」というキーワードにNightbotが反応して、すぐさま設定した返答が返ってきました。
YSYKが設定したカスタムコマンド一覧
こういうコマンドの使い方をするのが便利なんじゃないかなとYSYKが実際に設定してみたおすすめのカスタムコマンドを紹介します。
ちょっと読みづらいですが、テキストでも一覧を載せておきます。
※コピペして使う場合、URLなどをご自身のものに書き換えてください
”$(touser)”などの変数部分は文字列を間違えると逆に動作しなくなります。
Command | Message | Userlevel | 概要 |
---|---|---|---|
!blog | Check out our blog https://ysyk33.com | Everyone | ブログURLを表示 |
!discord | Join our Discord channel https://discord.gg/knyM3UM | Everyone | ディスコードに参加するためのURLを表示 |
!donate | Thank you so much for your support at https://streamlabs.com/YSYK/tip | Everyone | 寄付ページのURLを表示 |
!followage | $(urlfetch https://twitch.api.scorpstuff.com/followed.php?caster=$(channel)&follower=$(user)) | Everyone | コマンド使用者のフォロワー歴を表示 |
!joined | $(urlfetch https://twitch.api.scorpstuff.com/accountcreated.php?user=$(querystring)) | Everyone | コマンド使用者のTwitch登録歴を表示 |
!lastvod | $(urlfetch https://twitch.api.scorpstuff.com/lastvod.php?raw=0&caster=$(channel)) | Everyone | 最新のVOD(過去動画)のURLを表示 |
!so | Be sure to follow $(touser) at $(twitch $(touser) “{{url}} {{displayName}} was last playing {{game}}”) | Moderator | 「!so チャンネル名」で他のチャンネルを紹介 |
!steam | Add https://steamcommunity.com/id/ysyk/ as friend to play with. | Everyone | 自分のSteamページのURLを表示 |
!time | It’s $(time Asia/Tokyo “MMMM Do YYYY, h:mm a”) in Japan. | Everyone | 東京の現在時刻を表示 |
ちなみに、デフォルトコマンドで用意されている「!commands」とチャットで発言することによって
自分で設定したカスタムコマンドを含む、使用可能なコマンド一覧のURLをNightbotが返答してくれます。
このURLにアクセスすると、こんな感じで一覧表示されます。https://nightbot.tv/t/ysyk/commands
設定画面とは若干表示内容が違うのですが、だいたい各コマンドでどのような返答が返ってくるのかがわかるようになっています。
デフォルトではコマンド10個ずつの表示となっていますが、左上の”Show 10 entries”のプルダウンから25などを選択することで、その数のぶん一気に表示することができます。
!so もしくは !shoutout コマンドの設定方法、使い方(シャウトアウト)
カスタムコマンドの追加をするため、”+Add Command”ボタンを押します。
ポップアップしたメニューに下の画像のように入力します。
コピペができるようにテキストでも記載しておきます。
項目 | 設定内容 |
---|---|
Command | !so |
Message | Be sure to follow $(touser) at $(twitch $(touser) “{{url}} {{displayName}} was last playing {{game}}”) |
Userlevel | Moderator |
Cooldown | 5 seconds |
Alias | 空欄 |
このように設定すると「!so ユーザ名」とチャットで発言することで、そのユーザのユーザ名、チャンネルURL、表示名、最後にプレイしていたゲーム名が表示されます。
内容は「このチャンネルをフォローしてあげてね」という応援メッセージです。海外のTwitchではチャンネル同士で視聴者を送り合って応援し合う文化があるため、このようなコマンドがよく使われています。
変数をいくつか使用しているため、下手にいじるとうまく機能しなくなるのでよくわからない人はそのままコピペしてください。
変数について詳しく知りたい場合は、
https://docs.nightbot.tv/commands/variables/twitch
https://docs.nightbot.tv/commands/variables/touser
などの公式ドキュメントを確認すると詳細がわかります。(英語です)
実際にチャットで「!so ysyk」と発言してみたところ、
「https://www.twitch.tv/ysykというチャンネルでysykをフォローしてあげてね、YSYKはMonsterHunterWorldを最後にプレイしていたよ」というメッセージをNightbotが返してくれました。
「!so」のあとに半角スペースと対象のユーザ名(表示名ではなくチャンネルのURL部分)を入れることで、別のチャンネルも同様に紹介できます。
Aliasの使い方
たとえば「hi」というワードに挨拶の返答をするカスタムコマンドを設定したとして、「hello」というワードにも同じ内容を設定したい場合に何個も同じ設定を入力するのは面倒です。
それに、ちょっと返答メッセージを変えたいと思ったときに両方のコマンドを修正するのは大変ですよね。
そんなときにAlias機能を使えば、大元のコマンド1つを設定しておくだけで2個目のコマンドからは同じ返答を返すように設定することができます。
上の項目で「!so」のカスタムコマンドを設定しましたので、「!shoutout」でも同じように機能するよう設定してみます。
コマンド自体は新しいものを追加することになるので、”+Add Command”ボタンを押します。
ポップアップしたメニューに下の画像のように入力します。
コピペできるようにテキストでも記載しておきます。
項目 | 設定内容 |
---|---|
Command | !shoutout |
Message | $(query) |
Userlevel | Moderator |
Cooldown | 5 seconds |
Alias | !so |
このように設定することで、「!shoutout ユーザ名」とチャットで発言することで、「!so ユーザ名」と発言したときと同じ返答をNightbotが返してくれるようになります。
「!so ユーザ名」のように予め作成したコマンドと、ユーザ名のように都度変わるものを組み合わせる使い方をするコマンドの場合にはMessageの項目に「$(query)」という変数を使う必要があります。
この変数を使うことで「!shoutout ユーザ名」と入力した場合に、「ユーザ名」の部分を「!so」と組み合わせたことと同じように動作してくれるようになります。
逆に言うと、例えば必ず同じメッセージとURLを返すように設定した「!blog」という単体で使えるコマンドを、別のコマンド「!bl」でも同じ返答を返すようにしたい思った場合にはMessageの項目は空欄のままで大丈夫です。
この場合どういう風に設定するかというと、
項目 | 設定内容 |
---|---|
Command | !bl |
Message | 空欄 |
Userlevel | Everyone |
Cooldown | 5 seconds |
Alias | !blog |
と設定するだけで「!blog」とチャットで発言したときと同じ内容がNightbotから返答されます。
おわりに
今回は変数などが多く登場したためゲンナリしてしまったかもしれませんが、1つ1つの意味や挙動を理解していくと、そこまで難しいことはありません。
”こういう風に表示したいんだけど、どうやればできるんだろう”という目的意識があれば、自然と必要になる変数やコマンド設定の仕方が浮かんでくるかと思います。
英語になってしまいますが、海外フォーラムではそういった使用者同士の質問と回答が盛んなようです。
毎回ブログのURLを打ち込んだりコピペするのは面倒ですし、最初にNightbotの設定をしておくと非常に便利になると思いますのでこの記事を参考に頑張ってみてください。
次回は自動チャット応答ができるNightbotのTimers(タイマー)機能について説明しますので、ぜひこちらの記事も参考にしてください。
コメント