상태 노드 활용 가이드

상태 노드는 Social Stream Ninja에 기억 기능을 제공합니다. 재사용 대기 시간, 토글, 카운터, 속도 제한, 참가자 목록, 경품 추첨을 구성하여 자동화가 예측 가능하게 작동하도록 하세요.

01 · 빠른 둘러보기

상태 도구는 값을 소유하는 객체와 그 값을 읽거나 바꾸는 작업으로 구성됩니다:

상태 노드

  • 캔버스에 배치됩니다.
  • 값을 보관합니다(ON/OFF, 수, 타임스탬프 또는 사용자).
  • Gate, Counter, Rate Limiter는 일반 이벤트 경로에서 실행할 수 있습니다.
  • User Memory는 다른 노드가 참조하는 공유 허브입니다.

상태 작업

  • 후속 단계에 배치됩니다.
  • 저장된 값을 읽거나 변경합니다(ON 설정, +1, 기억, 추첨, 초기화 등).
  • 흐름 안의 어디에나 놓을 수 있습니다. 해당 노드 이름만 선택하세요.
기억하세요: 먼저 상태 노드를 추가하고 고유한 이름을 지정한 뒤 각 관련 작업에서 선택하세요. 기본 노드가 없으면 상태 작업이 업데이트할 대상이 없습니다.

02 · 켜기/끄기 스위치 (게이트)

스위치는 불리언 조건문입니다. ON이면 메시지가 통과하고 OFF이면 이 노드에서 흐름이 멈춥니다.

적합한 대상

  • 채팅 명령의 재사용 대기 시간.
  • 수동 전환(오버레이 켜기/끄기).
  • 점검 시간(잠시 자리 비움 장면에서 기능 일시정지).

주요 작업

  • Set Gate State— ON 또는 OFF로 전환합니다.
  • Reset State Node— 기본값(보통 ON)으로 되돌립니다.

예시: 15초 재사용 대기 시간

!hello ──▶ 스위치 (ON?) ─▶ 답변 전송 ─▶ 게이트: OFF ─▶ 15초 지연 ─▶ 게이트: ON

구성 단계

  1. 스위치 노드를 배치하고 이름을 ‘helloCooldown’, 기본값을 ON으로 지정하세요.
  2. 트리거 → 스위치 → 작업으로 연결하세요.
  3. 작업 뒤에 추가할 항목: 게이트 상태 설정 (Set Gate State) (OFF)를 추가하고 ‘helloCooldown’을 참조하세요.
  4. 추가: 지연 (Delay) 노드(15초).
  5. 다음을 하나 더 추가하세요: 게이트 상태 설정 (Set Gate State) (ON)을 ‘helloCooldown’에 추가하세요.

03 · 카운터

카운터는 메시지 사이에서 숫자를 추적합니다. 메시지가 통과하면 자동으로 증가하며 작업으로 값을 수동 조절할 수도 있습니다.

자동 증가: 페이로드가 Counter 노드를 통과할 때마다 1이 증가합니다(Only count when gate is true 옵션으로 제한한 경우 제외).

사용 사례

  • N번째 채팅 참여자마다 상품을 제공합니다.
  • 커뮤니티 목표 진행 상황 추적.
  • 명령으로 사용한 포인트 저장.

동작

  • Increment Counter— 원하는 양을 더하거나 뺍니다.
  • Set Counter Value— 특정 숫자로 설정합니다.
  • Reset State Node— 기본 시작값으로 되돌립니다.

예시: 메시지 5개마다 축하

모든 메시지 ─▶ 카운터 (이름: hype5) ─▶ 조건 (value % 5 === 0?) ─▶ 축하 효과 재생

Condition 노드에서 비교할 값: state.hype5.value 또는 Counter 노드 속성의 내장 옵션 Trigger when value matches Target을 사용하세요.

04 · 속도 제한기 (스로틀)

속도 제한기는 타임스탬프를 기억하며 지정한 속도를 충족할 때까지 새 이벤트를 거부합니다.

이런 경우에 유용합니다

  • ‘분당 추첨 응모 다섯 번만 허용.’
  • ‘10초마다 API 호출 한 번.’
  • ‘오버레이가 이미 사용 중이면 알림을 버립니다.’

설정

  • 허용할 최대 이벤트 수를 설정하세요.
  • 시간 구간을 초 단위로 선택하세요.
  • 초과 이벤트를 대기열에 넣을지 버릴지 선택하세요.
참고: 흐름을 편집해도 속도 제한기는 자동 초기화되지 않습니다. 사용할 작업: Reset State Node 를 사용하여 테스트 중 상태를 깨끗하게 초기화하세요.

05 · 사용자 기억

User Memory는 중복 없는 사람들의 목록 하나를 이름으로 관리합니다. 참여할 때 사용자를 기억하고 이후 메시지에서 목록을 확인하거나, 사용자를 제거하거나, 무작위 당첨자를 선택하거나, 해당 목록만 비울 수 있습니다.

적합한 대상

  • 선물 또는 배지에 따른 참가 자격.
  • 좋아요를 누르거나 응모하거나 참여한 시청자 기억.
  • 중복 응모 없는 경품 추첨.
  • 행사마다 별도 목록 사용.

작업

  • Remember User 그리고 Forget User.
  • User Is Remembered.
  • Pick Random User.
  • Clear All Users 또는 Reset State Node.
참여 트리거 ──▶ 사용자 기억 ······▶ 사용자 기억: 참가자 추첨 명령 ───────────▶ 무작위 사용자 선택 ···▶ 사용자 기억: 참가자 초기화 명령 ──────────▶ 모든 사용자 삭제 ·····▶ 사용자 기억: 참가자

청록색 실선은 이벤트를 전달합니다. 보라색 점선은 작업이 사용하는 공유 기억을 표시합니다. 각 User Memory에는 자체 사용자 수, 저장 방식, 초기화 정책이 있으므로 한 목록을 비워도 다른 목록에는 영향을 주지 않습니다.

전용 가이드: 사용자 메모리 가이드 에서 검토된 스크린샷, 다운로드 가능한 추첨 흐름, TikTok 참가 자격, 참여 예시, 초기화 세부 정보를 확인하세요.

06 · 문제별 구성 예시

상황을 선택하고 단계를 따르세요.

명령 재사용 대기 시간

  1. 이름이 ‘commandCooldown’인 스위치 노드.
  2. 트리거 → 스위치 → 답변.
  3. 게이트 OFF → 지연 → 게이트 ON.
  4. 원한다면 false 출력에 ‘재사용 대기 중’이라는 채팅 메시지를 추가하세요.

한정 무료 제공

  1. 카운터 기본값 0, 목표 3.
  2. 보상 사용 후마다 증가시킵니다.
  3. value ≥ 3이면 ‘죄송합니다. 모두 소진되었습니다’로 분기하세요.
  4. 방송이 끝나면 Reset 작업을 사용하세요.

시청자 토글

  1. 이름이 ‘overlayToggle’인 스위치.
  2. !overlay on 명령 → 게이트 ON.
  3. !overlay off 명령 → 게이트 OFF.
  4. 모든 오버레이 트리거가 스위치를 통과합니다.

흐름도 예시

트리거 ─▶ 스위치 (overlayToggle) ─▶ ON이면 → 오버레이 표시 └─false─▶ 관리자에게 ‘오버레이 꺼짐’ 알림
보상 사용 ─▶ 카운터 ticketsSold ├─value < 50 ─▶ 보상 승인 └─value ≥ 50 ─▶ 거절 + 포인트 환불

07 · 문제 해결 및 FAQ

증상 가능성 높은 원인 해결 방법
Set Gate State 작업이 저장되지 않음. 일치하는 스위치 노드가 없거나 이름이 다릅니다. 먼저 스위치 노드를 추가하고 드롭다운이 해당 노드를 참조하는지 확인하세요.
카운터가 증가하지 않음. 흐름이 카운터 노드를 건너뛰거나 게이트가 false입니다. 트리거 연결선이 카운터를 통과하고 게이트 출력이 true인지 확인하세요.
속도 제한기가 계속 모든 항목을 차단함. 시간 구간이 너무 엄격하거나 테스트 상태가 남아 있습니다. 제한을 완화하고 Reset State Node 작업을 배치한 뒤 다시 테스트하세요.
User Memory 작업에 점선 연결이 없음. 대상 기억 목록을 선택하지 않았습니다. 작업 속성에서 이름으로 기억 목록을 선택하거나 보라색 측면 연결점을 해당 기억 노드로 끌어 놓으세요.
가이드 버튼이 열리지 않음. web_accessible 리소스를 업데이트하지 않은 확장 프로그램에서 실행 중입니다. 확인할 항목: actions/state-nodes-guide.html 가 매니페스트를 통해 제공되는지 확인하고 확장 프로그램을 다시 로드하세요.

테스트 체크리스트

  • Event Flow의 Send Test Event 도구로 명령을 시뮬레이션하세요.
  • 검증 중에는 대기 시간을 2초 정도로 줄이거나 카운터 목표를 낮추세요.
  • 오래된 데이터를 읽지 않도록 테스트 사이에 상태 노드를 초기화하세요.
  • 분기에 이름을 붙이세요(예: ‘false → 재사용 대기 중’). 경로를 눈으로 따라가기 쉬워집니다.

08 · 다음 단계

상태 노드를 다른 Event Flow 도구와 조합하세요:

  • 스위치 앞에 논리 게이트(AND/OR/NOT)를 두어 누가 전환할 수 있는지 결정하세요.
  • 상태 기반 메타데이터는 다음 아래에 저장하세요: meta . 오버레이가 분기 실행 이유를 알 수 있게 합니다.
  • 잘 작동하는 구성을 템플릿으로 내보내 팀이 나중에 다시 가져올 수 있게 하세요.
계속 실험해 보세요! 새로운 Event Flow 가이드 를 함께 읽으면 논리와 상태 기능을 모두 익힐 수 있습니다.