Спільний стан Event Flow

Пам’ять користувачів (User Memory)

Запам’ятовуйте унікальних учасників, перевіряйте їх у наступних повідомленнях, розігруйте випадкового переможця та скидайте саме потрібний список, не перетворюючи роль платформи на постійний глобальний стан.

Українська

Одна іменована пам’ять, багато інструментів

Подія Пам’ять користувачів (User Memory) вузол стану зберігає один ізольований набір людей. Кожен вузол Remember, Forget, Check, Draw або Clear вибирає цей вузол стану. Створіть інший вузол User Memory, коли потрібен окремий список, наприклад один для «вподобали трансляцію», а інший — для «взяли участь у розіграші».
Суцільна бірюзова: ця подія виконується наступною Фіолетова пунктирна: цей вузол використовує ту пам’ять

Перетягніть маленький фіолетовий бічний ромб на вузол User Memory або виберіть пам’ять за назвою у властивостях вузла. Усередині операція зберігає ID вузла стану. Вибір пам’яті підсвічує всі пов’язані операції, а перед її видаленням з’являється попередження про розрив зв’язків.

Полотно Event Flow із Remember User і User Is Remembered, з’єднаними фіолетовими пунктирними лініями з пам’яттю Prize Draw Entrants
Справжній сценарій SSApp із двома запам’ятованими учасниками. Шлях подій бірюзовий; посилання на спільний стан — фіолетові пунктирні.

Налаштуйте

  1. Перетягніть Вузли стану → User Memory на полотно.
  2. Назвіть її відповідно до списку, який вона зберігає, наприклад Heart Me Eligible, Liked Stream, або Prize Draw Entrants.
  3. Виберіть Ця сесія застосунку або Зберігати між перезапусками (Save across restarts).
  4. Додайте потрібні перевірки й дії, а потім зв’яжіть кожну з іменованою пам’яттю через бічний ромб або спадний список.
  5. З’єднайте звичайний шлях подій бірюзовими лініями та використовуйте Перевірити потік (Test Flow) із двома різними іменами користувачів перед виходом в ефір.

Доступні операції

ВузолЩо робить
Запам’ятати користувача (Remember User)Додає користувача поточної події один раз. Повторна участь збільшує лічильник його участі, не додаючи дублікатів заявок у розіграш.
Користувача запам’ятовано (User Is Remembered)Тригер/перевірка, що повертає true, коли поточне повідомлення належить людині з вибраної пам’яті.
Забути користувача (Forget User)Вилучає лише користувача поточної події.
Вибрати випадкового користувача (Pick Random User)Вибирає одного унікального запам’ятованого користувача. За бажанням може вилучити переможця, щоб він не виграв знову.
Очистити всіх користувачів (Clear All Users)Очищує лише вибраний об’єкт User Memory.
Скинути вузол стану (Reset State Node)Також очищує User Memory, якщо цю пам’ять вибрано ціллю скидання.
Властивості вузла User Memory з двома поточними користувачами та Save across restarts
Центр показує поточну кількість унікальних користувачів і містить налаштування збереження/скидання.
Правило ідентифікації: ключ користувача складається з платформи та ID користувача. Відображуване ім’я використовується лише як запасний варіант. Анонімна або зведена подія без ідентифікації користувача безпечно ігнорується.

Практичні приклади

TikTok Heart Me або Team Member → ? Озвучення

Використовуйте подію подарунка, щоб запам’ятати відправника; не намагайтеся перетворити один рядок подарунка на постійну роль «учасник».

Подія подарунка TikTok + збіг «Heart Me» → AND → Запам’ятати користувача ···→ [Heart Me Eligible]
? команда + джерело TikTok + (TikTok Team Member АБО User Is Remembered) → AND → Озвучити текст ? команда + НЕ джерело TikTok → AND ────────────────────────────────→ Озвучити текст
  • Для статусу Team/Fan у TikTok виберіть Роль користувача → TikTok Team Member. Він безпосередньо читає вхідні дані значків/рівнів TikTok; налаштування відображення «вважати учасниками» головного оверлею чату не потрібне.
  • Дані подарунків відрізняються залежно від режиму захоплення. Поширене налаштування — Тип події → Other: gift а також Повідомлення містить: Heart Me. Перевірте захоплений рядок у Test Flow/Event Reference і зіставляйте найчіткіше поле, яке надає ваше джерело.
  • Обидві гілки все одно потребують початкового ?, тож інші платформи озвучують повідомлення всіх, а TikTok залишається обмеженим.

Запам’ятовуйте людей, які вподобали або взяли участь

Тип події → Other: liked → Запам’ятати користувача ···→ [Liked Stream]

Це працює, коли захоплена подія вподобання/участі містить користувача. Загальні оновлення кількості вподобань не ідентифікують людину, тому їх неможливо запам’ятати. Якщо потрібні незалежні перевірки або розіграші, використовуйте окрему пам’ять для кожного виду участі.

Розіграш призу з унікальними учасниками

Повідомлення починається з !enter → Запам’ятати користувача ···→ [Prize Draw Entrants] Модератор + Повідомлення починається з !draw → AND → Вибрати випадкового користувача ···→ [Prize Draw Entrants] Модератор + Повідомлення починається з !resetdraw → AND → Очистити всіх користувачів ···→ [Prize Draw Entrants]

Увімкнути Вилучити вибраного користувача (Remove selected user) коли переможець не повинен бути вибраний двічі. У публічній трансляції захищайте команди розіграшу/скидання перевіркою модератора, адміністратора або точного користувача.

Завантажити приклад сценарію участі та розіграшу

Скидання та збереження

Вручну

Використовуйте Очистити всіх користувачів зараз (Clear All Users Now) у властивостях пам’яті під час створення/тестування.

Із сценарію

Використовуйте Очистити всіх користувачів (Clear All Users) або загальний Скинути вузол стану (Reset State Node), вибравши саме потрібну пам’ять.

Автоматично

Очищення після неактивності, на початку або після завершення трансляції. Значення 0 вимикає скидання через неактивність.

Між перезапусками

Пам’ять сесії порожня під час запуску застосунку. Збережена пам’ять завантажується повторно, доки саме її не очистять.

Властивості скидання User Memory з неактивністю, початком і завершенням трансляції та Clear All Users Now
Кожна опція скидання належить цій одній іменованій пам’яті. Інші вузли User Memory не зачіпаються.
Область дії «Очистити всіх» обмежена: це означає всіх користувачів у вибраній пам’яті, а не весь стан Event Flow, усі розіграші або всю пам’ять Social Stream Ninja.

Використовуйте вихідні дані розіграшу та участі

Дії пам’яті додають поля до повідомлення, щоб наступні Show Text, Send Message, вебхуки або власні дії могли їх використати.

ПолеЗначення
userMemoryNameНазва вибраної пам’яті.
userMemoryCountКількість унікальних користувачів, запам’ятованих зараз.
userMemoryAddedTrue лише тоді, коли Remember User додав нову унікальну людину.
userMemoryEntryCountСкільки разів ця людина брала участь.
selectedUserВідображуване ім’я вибраного користувача.
selectedUserId, selectedUserSourceСтабільний ID і платформа вибраного користувача.
selectedUserParticipationCountЗаписана кількість участей переможця.
selectedUserReasonОстанній шаблон причини, збережений Remember User.
selectedUserRemovedЧи вилучив розіграш вибраного переможця.
Результат Test Flow із вибраним учасником розіграшу та одним учасником, що залишився
Справжній результат Test Flow: вибрано Alice, а кількість у пам’яті зменшилася до одного, оскільки ввімкнено вилучення вибраного.

Усунення несправностей

Пунктирної лінії немаєВиберіть операцію та ціль User Memory або перетягніть її фіолетовий бічний ромб до центру пам’яті.
Та сама людина з’являється двічіПеревірте, чи події надходили з різних платформ. Платформа + ID користувача навмисно створюють окремі ідентичності.
Вподобання нікого не додалоІмовірно, подія не містила ідентифікації користувача. Перевірте дані події; загальні лічильники не можуть стати іменованими учасниками.
Збережена пам’ять повернуласяЗастосуйте Clear All Users до цієї пам’яті. Зміна сценарію або очищення іншої пам’яті її не стирає.
Будь-хто може виконати команду розіграшу/скиданняДодайте User Role: moderator/admin (або точну перевірку користувача-ведучого) до вузла AND перед дією.