1つの名前付きメモリーを複数の操作で使う
側面の小さな紫色のひし形をUser Memoryノードにドラッグするか、ノードのプロパティでメモリー名を選択します。内部では、操作が状態ノードのIDを保存します。メモリーを選択すると、リンクされたすべての操作が強調表示され、削除時にはリンクが切れる前に警告が表示されます。
設定する
- ドラッグする項目: State Nodes → User Memory をキャンバスに配置します。
- 保持するリストに応じて名前を付けます。例: Heart Me対象者, 配信にいいねした人、または 抽選応募者.
- 選ぶ項目: 今回のアプリセッションのみ または 再起動後も保存(Save across restarts).
- 必要なチェックとアクションを追加し、それぞれを側面のひし形またはドロップダウンで名前付きメモリーにリンクします。
- 通常のイベント経路を青緑色の線で接続し、次を使用します: フローをテスト(Test Flow) で、配信前に異なる2つのユーザー名を使って確認します。
使用できる操作
| ノード | 動作 |
|---|---|
| ユーザーを記録(Remember User) | 現在のイベントのユーザーを1回だけ追加します。繰り返し参加した場合は、そのユーザーの参加回数が増えますが、抽選の応募枠は重複しません。 |
| 記録済みユーザーか確認(User Is Remembered) | 現在のメッセージのユーザーが選択したメモリーに含まれる場合にtrueを返すトリガー/チェック。 |
| ユーザーを削除(Forget User) | 現在のイベントのユーザーだけを削除します。 |
| ランダムにユーザーを選択(Pick Random User) | 記録された重複のないユーザーから1人を選びます。必要に応じて当選者を削除し、再当選を防げます。 |
| 全ユーザーを消去(Clear All Users) | 選択したUser Memoryオブジェクトだけを空にします。 |
| 状態ノードをリセット(Reset State Node) | リセット対象にUser Memoryが選択されている場合は、そのメモリーも消去します。 |
実用的なレシピ
TikTok Heart Meまたはチームメンバー → ? TTS
ギフトイベントで送信者を記録してください。1件のギフト行を、永続的な「メンバー」の役割に変えようとしないでください。
- TikTokのチーム/ファンの状態を判定するには、次を選択します: User Role → TikTok Team Member。受信したTikTokのバッジ/レベルデータを直接読み取るため、Main Chat Overlayの「メンバーとして扱う」表示設定は不要です。
- ギフトのペイロードは取得モードによって異なります。よく使う設定は次です: Event Type → Other:gift に加え、 Message Contains:Heart Me。Test Flow/イベントリファレンスで取得した行を確認し、ソースが提供する最も適切なフィールドで照合してください。
- どちらの分岐でも先頭の条件が必要です:
?。これにより、ほかのプラットフォームでは全員を読み上げ、TikTokだけを制限できます。
いいねや参加をした人を記録する
取得したいいね/参加イベントにユーザー情報が含まれる場合に使えます。いいね数の集計更新では個人を特定できないため、記録できません。判定や抽選を分けたい場合は、参加の種類ごとに別のメモリーを使ってください。
重複応募のない抽選
有効化 選択したユーザーを削除(Remove selected user) を、同じ人の再当選を防ぎたい場合に有効にします。公開配信では、モデレーター、管理者、または特定ユーザーとの完全一致で抽選/リセットコマンドを制限してください。
リセットと永続化
手動(Manual)
使う項目: 今すぐ全ユーザーを消去(Clear All Users Now) を、作成/テスト中にメモリーのプロパティで使用します。
フローから
使う項目: 全ユーザーを消去(Clear All Users) または汎用の 状態ノードをリセット(Reset State Node)で、対象のメモリーを正確に選択します。
自動(Automatic)
一定時間の無操作後、配信開始時、または配信停止時に消去します。無操作時間を0にすると、無操作によるリセットは無効になります。
再起動後も保持
セッションのメモリーはアプリ起動時に空になります。保存されたメモリーは、そのメモリーを消去するまで再読み込みされます。
抽選と参加の出力を利用する
メモリーのアクションはメッセージにフィールドを追加するため、後続のShow Text、Send Message、Webhook、カスタムアクションで利用できます。
| フィールド | 意味 |
|---|---|
userMemoryName | 選択したメモリーの名前。 |
userMemoryCount | 現在記録されている、重複を除いたユーザー数。 |
userMemoryAdded | Remember Userが新しいユーザーを追加した場合だけtrue。 |
userMemoryEntryCount | その人の参加回数。 |
selectedUser | 抽選で選ばれたユーザーの表示名。 |
selectedUserId, selectedUserSource | 抽選で選ばれたユーザーの固定IDとプラットフォーム。 |
selectedUserParticipationCount | 当選者に記録された参加回数。 |
selectedUserReason | Remember Userが最後に保存した理由テンプレート。 |
selectedUserRemoved | 抽選で選んだ当選者を削除したかどうか。 |
トラブル対処
| 破線が表示されない | 操作を選び、対象のUser Memoryを指定するか、側面の紫色のひし形をメモリーにドラッグします。 |
|---|---|
| 同じ人が2回表示される | イベントが異なるプラットフォームから届いていないか確認してください。プラットフォーム+ユーザーIDを使うため、意図的に別のユーザーとして扱います。 |
| いいねでユーザーが追加されない | イベントにユーザー識別情報がなかった可能性があります。イベントのペイロードを確認してください。集計値だけでは名前付きの応募者として登録できません。 |
| 保存されたメモリーが復元された | そのメモリーでClear All Usersを使用します。フローを変更したり、別のメモリーを消去したりしても消えません。 |
| 誰でも抽選/リセットコマンドを実行できてしまう | アクションの前にANDゲートを置き、User Roleのmoderator/admin条件(または配信者のユーザーを完全一致で確認する条件)を追加します。 |