Twitchでレイドされたときに自動でお礼と宣伝をする方法

今回は、Twitchでレイドされたときに自動でお礼と宣伝をする方法を紹介します。

f:id:naosan_RTA:20220227101650p:plain

↑「なおさんなおさん」って表示名にしているせいで分かりづらいですが正常な動作です

 

Twitch配信者がよく使っている「Nightbot」と「StreamElements」の機能を利用します。

 

<追記>

現在、StreamElementsのコメントにNightbotが反応しない現象が発生しています。

おそらくNightbot側の仕様変更による影響だと思われます。

StreamElementsの代わりにStreamlabsを使うことで似たようなことができますので、

しばらくの間はStreamlabsとNightbotの組み合わせで使うことを推奨します。

Streamlabsの設定方法は、↓のツイートとリプ欄を参照してください。

 

 

 

▼まだ導入してない人向けの補足説明はココをクリック

まだ導入してない人は↓のURLから入れてください。

いろんな機能があるので入れておくと便利です。

Nightbot

StreamElements | The Ultimate Streamer Platform

↓一応、参考になりそうなサイトも載せておきます

Nightbotの導入方法

StreamElementsのチャットボットの設定方法

赤い丸で囲まれたアイコンをクリックして、表示される一覧に「Nightbot」と「StreamElements」がいればOKです。

追記:ちゃんと導入できていても、たまに表示されないことがあるらしい…?

f:id:naosan_RTA:20220228082359p:plain

 

<注意点>

Nightbotを新しく導入した場合、初期設定でスパムを追い出す機能が有効になっています。

絵文字連打などで簡単に反応してしまうので、無効化したい人は、「Spam Protection」の設定から、不要な機能を無効(Disabled)にしてください。

f:id:naosan_RTA:20220228190541p:plain

 

1. StreamElements側の設定

StreamElementの設定画面の左側の「Chatbot」→「Modules」をクリックした後、「Chat Alerts」を有効化します。

そして、「Raids」タブの「Message」を!raided {user}に変更します。

f:id:naosan_RTA:20220227104023p:plain

こうすることで、誰かがレイドしてくれた時に、自動的に「!raided 【レイドしてくれた人の名前】」ってコメントされるようになります。

レイド以外(フォロー等)の時のメッセージも同様の方法で変更できます。必要であれば変更してください。

2. Nightbot側の設定

Nightbotの設定画面の左側の「Command」→「Custom」をクリックした後、右側の「Add Command」をクリックすると新しいコマンドを追加する画面が表示されます。

Commandは!raidedに、Messageは$(twitch $(eval a="$(query)"; b=a.match(/\((.+)\)/); if(b==null){c=a;}else{c=b[1];} c) "{{displayName}}さんレイドありがとうございます!{{displayName}}さん({{game}}をプレイ中)のチャンネルはコチラ→{{url}}")にします。

f:id:naosan_RTA:20220227104934p:plain

こうすることで、StreamElementsの「!raided 【名前】」というコメントに反応し、Nightbotが「【表示名】さんレイドありがとうございます!【表示名】さん(【ゲーム名】をプレイ中)のチャンネルはコチラ→【URL】」とコメントしてくれるようになります。

▼スクリプトの解説を見たい人はクリック(スルーしても問題ないです)
$(twitch 【ユーザー名】【フォーマット】)と記述すると、指定したユーザーに関する情報を指定したフォーマットで出力します。

【ユーザー名】$(eval a="$(query)"; b=a.match(/\((.+)\)/); if(b==null){c=a;}else{c=b[1];} c)の部分に対応しています。
  1. aには引数を代入する
  2. baを()の前後で分割した配列であり、()の内部の文字列はb[1]に代入される
  3. もしbnullであればcにはaを、そうでなければcにはb[1]を代入する
  4. cの文字列を出力する
という処理を行っています。
表示名を設定している人がレイドした例
  1. aなおさんなおさん (naosanrta)
  2. b[1]naosanrta
  3. cnaosanrta
表示名を設定していない人がレイドした例
  1. anaosanrta
  2. bnull
  3. cnaosanrta

【フォーマット】"{{displayName}}さんレイドありがとうございます!{{displayName}}さん({{game}}をプレイ中)のチャンネルはコチラ→{{url}}"の部分に対応しています。

 

Message後半の" "に囲まれた部分は自由に変更してください。

ここでは↓のような変数を使うことができます。

  • {{name}} レイドしてくれた人のユーザー名 (例:naosanrta)
  • {{displayName}} レイドしてくれた人の表示名 (例:なおさんなおさん)
  • {{url}} レイドしてくれた人のチャンネルURL (例:https://www.twitch.tv./naosanrta)
  • {{title}} レイドしてくれた人の配信タイトル
  • {{game}} レイドしてくれた人の配信しているゲーム

もっと変数を知りたい人はNightbot Docsを確認してください。

 

以上で設定は終了です!

 

▼正常に動作しない場合はココをクリック
まず、「Nightbot」と「StreamElements」が自分のチャンネルのチャットに参加できているか確認してください。 赤い丸で囲まれたアイコンをクリックして、表示される一覧に「Nightbot」と「StreamElements」がいればOKです。

f:id:naosan_RTA:20220228082359p:plain

もしいない場合は、↓のサイトなどを参考にして、追加してください。

Nightbotの導入方法

StreamElementsのチャットボットの設定方法

 

「StreamElements」は正常に動作しているのに、「Nightbot」が反応してくれない場合は、↓の「Userlevel」を確認してください。

f:id:naosan_RTA:20220228085944p:plain

「everyone」になっている場合は、だれでも!raidedコマンドを使うことができます(もちろんStreamElementsも)。

逆に、「moderator」とかになっている場合は、StreamElementsをモデレーターにしてあげないとNightbotが反応しません。

 

この方法のメリットは↓です。

  • プログラミングの知識がなくてもコピペだけで設定できる
  • よく使われているツールだけで実現できる
  • 使える変数が多いので自由度が高い
  • 表示名を設定しているユーザーでもちゃんと動作する
  • 自分のPC上で他のソフトを起動しておく必要がない

 

もし、もっといい方法をご存知でしたらなおさん (@naosan_RTA2) | Twitterに教えてください!