Ankhbot – Creating (almost) autonomous user-created custom welcome message program

Medium の運営方法が変わったため、このブログはもう更新しません。 新しいブログは https://www.resonantdrifter.com に、この記事への直接リンクは https://www.resonantdrifter.com/blog/ankhbot-%E2%80%94-creating-an-almost-completely-autonomous-user-created-custom-welcome-message-program/

Ankhbot が Streamlabs と統合されて、この記事は少し古いので新しいものを作りました!/blog/ankhbot-%An-owner-created-カスタム歓迎メッセージプログラム/

にあります。 Streamlabs Chatbot – Creating an (almost) autonomous user-created custom welcome message program」にアクセスしてください!

しばらく前に、私はドリフターと呼んでいる私の Twitch フォロワーに、少額の通貨(私のチャンネルではサプライと呼んでいます)で、彼らがチャットに入ってきたときに迎える独自の歓迎メッセージを作る方法を提供しようと思いました。 そうすれば、アンブッシュ(私のチャンネルでは強盗)以外のことにサプライを使うことができ、コミュニティをもう少し自分たちのものにすることができるのです。 もちろん、これは他のユーザーのために歓迎のメッセージを作成することができるというアイデアにもつながります – フォロワーが他のフォロワーに干渉する楽しい方法です。 幸運なことに、Ankhbot には、特定のユーザーがチャンネルに入ったときに、歓迎メッセージを含める方法があります。

私はすぐにこの計画を実行し、$removepoints() パラメータを使って Supplies を取ることができ、彼らは歓迎メッセージにしたいメッセージや他の Drifter のユーザー名とメッセージを私にささやき、成功に終わりました。 しかし、このブレイクスルー(私の中で)の直後に、ゲームプレイを何度も中断することなく、一貫した方法で彼らのニーズに対応し続けることはほぼ不可能であることに気づきました。 2062>

正直に言うと、Ankhbot では、完全に自律的にユーザーが作成したカスタム歓迎メッセージを作成することは不可能です。 私のアイデアを Twitter で Marcin Swierzowski に伝えたところ、彼は私のアイデアが実を結ばないことを確認しました。 ユーザーごとのOn Join Eventを自動的に設定して、特定の$user.txtを自動的に読み込む方法が必要… #ankhbot@AnkhHeart

Ankh Heart@アンクハート

@resonantdrifter それは無理だ。 手動で参加イベントを作成する必要があります。

しかし、私の頑固さは持続し、ユーザーは初期設定をほとんど行わずに、独自の歓迎メッセージを自由に作成および変更できるようにする方法を発見しました。 以下は、(ほぼ)完全に自律的なユーザー作成のカスタム歓迎メッセージを作成した方法です!

何よりもまず、このセットアップの最も集中的な部分(特に、すでに多くのフォロワーを持っているか、毎日多くのフォロワーを得る場合)は、参加イベント リストのセットアップです。 参加時イベントリストは、特定のユーザーがチャットに入ったときに、Ankhbot に何をさせたいかを指定する場所です。 これは残念ながら自動化することができず、私の壮大な計画でつまづいたところです。 本当はAnkhbotに現在のフォロワーからこのリストを自動生成して欲しかったのですが、このシステムを自動化することは不可能なので、各フォロワーのエントリを手動で入力する必要があります。 幸いなことに、この作業はフォロワー1人につき1回だけです。

On Join Event システムでは、各フォロワーのエントリを作成し、.NET ファイルにリンクさせる必要があります。

最初に、Ankhbot が作成するすべての .txt ドキュメントを保存するフォルダを作成します。 ファイルサイズは小さいですが、多くのファイルが作成されることを忘れないでください(多くのフォロワーを得たと仮定して)。 これが終わったら、Ankhbot に戻り、以下のように各フォロワーに対してコマンドを作成します (ヒント: 情報スロット以外はすべて同じままです):

  • UserGroup.UserGroup.UserGroup.UserGroup.UserGroup.UserGroup.Username。 User_Specific” のままにする
  • Info: 個々のフォロワーのユーザー名
  • Client Only: “False” (True は、ユーザーだけが見ることができることを意味します)
  • Enabled: 「True” (False は、明らかに、そのユーザーのためにそれをオフにします)
  • Vol: あなたとあなたの視聴者にとって快適なレベルに設定します
  • Message.Of.Your.Generation (メッセージ):このメッセージは、あなたのユーザーとあなたの視聴者にとって快適なレベルに設定します。 $readline(C:\user$user.txt)

Messageスロットを詳しく見てみましょう。

$readline(C:\user$user.txt)

このパラメータは単にテキストドキュメントの最初の行を読むだけです。 読み込み先は括弧の中に記述します。 テキスト文書に $user.txt という名前を付けると、Ankhbot はユーザーの名前でラベル付けされた .txt 文書を検索します (これは、この文書でさらに詳しく説明します)。 しかし、我々はより多くの信者を得るように、我々はそれらのそれぞれのための新しいエントリを作成する必要があります。

CHAT COMMANDS

Now that we have the core setup, lets create the commands that allows the users to set and change their welcome message.これは、このほとんど自律したシステムで行わなければならない最も多くの作業です。 同じページになるように、フォロワーが自分の歓迎メッセージを作成するためのコマンドは !buywelcome で、私のチャンネルでの通貨は supplies.

です!BUYWELCOME

これを動かすにはまず.NET Frameworkを作成しなければなりません。txt ドキュメントを作成し、$removepoints(“target”, “min”, “max”, “succeed”, “fail”, “forceremove”) と $overwritefile(“FileLocation”, “Text”) という 2 つのパラメータを内部に設定する必要があります。 私は自分のドキュメントに buywelcome.txt というラベルを付けて、次のように記入しました:

$removepoints(“$user”, “100”, “100”,”$value supplies have been removed from your inventory and your welcome message has been changed to ‘$msg'”, “You do not have enough supplies in your inventory!”, “false”) $overwritefile(“C:♪Ankhbotuser ♪$user.txt”,”$user: $msg”)

最初のパラメータ $removepoints() はその名の通り、コマンドを入力したユーザからポイント(または通貨)を削除するものです。 この例では、100 個の消耗品 (ユーザーに十分な量がある場合) を取り除き、十分な量の消耗品がある場合とない場合の両方のメッセージを返します。 もう少し詳しく見てみましょう。

  • “$user” – $removepoints() パラメータをコマンドを入力したユーザーに接続します
  • “min”, “max” – 私のパラメータでは、最小と最大の支払額をそれぞれ100サプライに設定して、変動しないようにします
  • “succeed” – “$value supplies blah blah ‘$msg'” は、通貨(100)から削除した金額を受け取り、成功メッセージとともにチャットメッセージにそれを表示します。 msg パラメータは、ユーザーが設定したメッセージを表示できるように再印刷します。 5097>
  • “fail” – “You do no blah blah “は、ユーザーが100の物資を持っていない場合のメッセージです(彼らはギャンブルが好きです)
  • “forceremove” – “false “は、ユーザーが十分な物資を持っていない場合は購入できないようにすることができます。

2 番目のパラメーターは、$overwritefile(“FileLocation”, “Text”) パラメーターを使用して、ユーザーの名前とラベルが付いた .txt 文書 ($user.txt) にメッセージを格納することが可能です。 参加イベントのリストを作成したときのことを思い出してください。 すべてのユーザーの .txt ファイルを格納するフォルダーを作成しましたが、実際のテキスト ファイルは作成しませんでした。 なぜでしょうか? これは、ウェルカムメッセージとして何も入力しなかったユーザーがチャットに参加したときに、メッセージを受け取らないようにするためです。

  • $overwritefile(“FileLocation”) – $savetofile の代わりに $overwritefile を使用することにより、ユーザーはいつでもこのメッセージを変更することができます。
  • “text” – “$user: $msg” これら 2 つのパラメータは、ユーザーのユーザー名と、後で画面に印刷するために入力したメッセージを保存します。

実際の !buywelcome コマンドでは、単に $readline(FileLocation) と書いて、あなたが作ったドキュメント(私の場合 buywelcome.txt) に向けます。

!BUYOTHERWELCOME

楽しい、あるいは競争力のある体験を作るために、自分の信者が他のユーザーのために歓迎メッセージを作成できるようにしたいと思ったのです。 これは !buywelcome コマンドによく似ていますが、1 人のユーザーが他のユーザーのためにメッセージを作成するため、独自のハードルがあることは承知していました。

前のコマンドと同様に、$removepoints(“target”, “min”, “max”, “succeed”, “fail”, “forceremove”) と $overwritefile(“FileLocation”, “Text”) パラメータを含む .txt ドキュメントを作成します。 先ほどのコマンドと違って、少し変わった設定をしないとうまくいきません。 私のは以下のような感じです:

$removepoints(“$user”, “100”,”$value supplies has been removed from your inventory and $target’s welcome message has changed to ‘$msg'”, “You do not have enough supplies in your inventory !”, “false”) $overwritefile(“C:\UsersJohninMotion﹑Documents﹑Ankhbot﹑$target.txt”,”$msg”)

最初のパラメータ $removepoints() はその言葉どおりで、この命令を出したユーザからポイント(または通貨)が削除されます。 この例では、ユーザーが十分な物資を持っている場合は 100 個の物資を取り除き、十分な物資を持っている場合と持っていない場合の両方のメッセージを返します。 異なる点は、メッセージのターゲットを入力することです。 もう少し詳しく見てみましょう。

  • “$user” – $removepoints() パラメータをコマンドを入力したユーザーに接続します。
  • “min”, “max” – 私のパラメータでは、最小と最大の支払額をそれぞれ100サプライとし、変動しないようにします。
  • “succeed” – “$value supplies blah $target blah ‘$msg'” 通貨から削除した金額(100)と成功メッセージとともにチャットメッセージに表示します。 target は、システムにメッセージを送る相手を指定します。 msgパラメータは、ユーザーが設定したメッセージを表示できるように再印刷します。 5097>
  • “fail” – “You do no blah blah “は、ユーザーが100個の物資を持っていない場合のメッセージです(また、彼らはギャンブル好きです)
  • “forceremove” – “false” は、ユーザーが十分な物資を持っていない場合に購入できないようにするものです。 5097>

2番目のパラメータで、$overwritefile(“FileLocation”, “Text”)パラメータを使って、今回のターゲット名と同じラベルの.txt文書($target.txt)にメッセージを格納することができます。

  • $overwritefile(“FileLocation”) – $savetofile の代わりに $overwritefile を使用すれば、ユーザーはいつでもこのメッセージを変更することができるようになります。
  • “text” – “$target: $msg” これら 2 つのパラメータは、対象のユーザー名と入力したメッセージを保存し、後で画面に印刷します。

実際の !buyotherwelcome コマンドでは、単に $readline(FileLocation) と書いて、作ったドキュメント(私の場合は buyotherwelcome.txt )に向けて置くだけです。

!MYWELCOME

最終的に、フォロワーがチャットに入ってからでもメッセージを見て、それがうまく行ったことを確認できるようにしたい、ということだけを考えると、この方法がいいと思ったのでした。 これは設定するのが非常に簡単なことです。

コマンドを作成し、私の場合は !mywelcome とし、その中に $readrandline(FileLocation) パラメータを指定します。 その中に、ユーザー歓迎のメッセージ(私の場合は \user )が格納されているフォルダを指定し、最後に $user.txt を追加します。 例えば、私の場合は、

$readrandline(C:♪Users♪JoininMotion♪Documents♪Ankhbot♪users♪$user.txt)

That’s itといった具合です。 2062>

THE SELF-SUFFICIENT MACHINE

以上の手順で、ユーザーが作成した独自のウェルカムメッセージを(ほぼ)完全に自律的に作成できるようになります。 いつか将来、Marcin が Ankhbot のアップグレードを続けることになれば、本当に完全に自律的なシステムを作ることができるようになるかもしれません。 それまでは、今のところ、この方法で十分です。

コメントする