IRC 연결을 통한 Twitch 채팅 지원. OpenClaw는 Twitch 사용자(봇 계정)로 연결하여 채널에서 메시지를 받고 보냅니다.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
번들 Plugin
Twitch는 현재 OpenClaw 릴리스에 번들 Plugin으로 제공되므로, 일반 패키징 빌드는 별도 설치가 필요하지 않습니다.
- npm 레지스트리
- 로컬 체크아웃
빠른 설정(초보자)
자격 증명 생성
Twitch Token Generator를 사용하세요.
- Bot Token을 선택합니다
chat:read및chat:write범위가 선택되어 있는지 확인합니다- Client ID 및 Access Token을 복사합니다
Twitch 사용자 ID 찾기
https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/를 사용하여 사용자 이름을 Twitch 사용자 ID로 변환하세요.
토큰 구성
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(기본 계정만) - 또는 구성:
channels.twitch.accessToken
개요
- Gateway가 소유한 Twitch 채널입니다.
- 결정적 라우팅: 응답은 항상 Twitch로 돌아갑니다.
- 각 계정은 격리된 세션 키
agent:<agentId>:twitch:<accountName>에 매핑됩니다. username은 봇 계정(인증 주체)이고,channel은 참여할 채팅방입니다.
설정(자세히)
자격 증명 생성
Twitch Token Generator를 사용하세요.- Bot Token을 선택합니다
chat:read및chat:write범위가 선택되어 있는지 확인합니다- Client ID 및 Access Token을 복사합니다
수동 앱 등록은 필요하지 않습니다. 토큰은 몇 시간 후 만료됩니다.
봇 구성
- Env var(기본 계정만)
- 구성
액세스 제어(권장)
allowFrom을 선호하세요. 역할 기반 액세스를 원하면 대신 allowedRoles를 사용하세요.
사용 가능한 역할: "moderator", "owner", "vip", "subscriber", "all".
왜 사용자 ID인가요? 사용자 이름은 변경될 수 있어 사칭을 허용할 수 있습니다. 사용자 ID는 영구적입니다.Twitch 사용자 ID 찾기: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/(Twitch 사용자 이름을 ID로 변환)
토큰 갱신(선택 사항)
Twitch Token Generator의 토큰은 자동으로 갱신할 수 없습니다. 만료되면 다시 생성하세요. 자동 토큰 갱신을 사용하려면 Twitch Developer Console에서 직접 Twitch 애플리케이션을 만들고 구성에 추가하세요.다중 계정 지원
계정별 토큰과 함께channels.twitch.accounts를 사용하세요. 공유 패턴은 구성을 참조하세요.
예시(두 채널의 봇 계정 하나):
각 계정에는 자체 토큰이 필요합니다(채널당 토큰 하나).
액세스 제어
- 사용자 ID 허용 목록(가장 안전)
- 역할 기반
- @mention 요구 사항 비활성화
문제 해결
먼저 진단 명령을 실행하세요.봇이 메시지에 응답하지 않음
봇이 메시지에 응답하지 않음
- 액세스 제어 확인: 사용자 ID가
allowFrom에 있는지 확인하거나, 테스트를 위해 일시적으로allowFrom을 제거하고allowedRoles: ["all"]을 설정하세요. - 봇이 채널에 있는지 확인: 봇은
channel에 지정된 채널에 참여해야 합니다.
토큰 문제
토큰 문제
“연결 실패” 또는 인증 오류:
accessToken이 OAuth 액세스 토큰 값인지 확인하세요(일반적으로oauth:접두사로 시작)- 토큰에
chat:read및chat:write범위가 있는지 확인하세요 - 토큰 갱신을 사용하는 경우
clientSecret및refreshToken이 설정되어 있는지 확인하세요
토큰 갱신이 작동하지 않음
토큰 갱신이 작동하지 않음
갱신 이벤트가 있는지 로그를 확인하세요.“토큰 갱신 비활성화됨(갱신 토큰 없음)“이 표시되는 경우:
clientSecret이 제공되었는지 확인하세요refreshToken이 제공되었는지 확인하세요
구성
계정 구성
봇 사용자 이름입니다.
chat:read 및 chat:write가 포함된 OAuth 액세스 토큰입니다.Twitch Client ID입니다(Token Generator 또는 앱에서 가져옴).
참여할 채널입니다.
이 계정을 활성화합니다.
선택 사항: 자동 토큰 갱신용입니다.
선택 사항: 자동 토큰 갱신용입니다.
토큰 만료 시간(초)입니다.
토큰 획득 타임스탬프입니다.
사용자 ID 허용 목록입니다.
역할 기반 액세스 제어입니다.
@mention을 요구합니다.
Provider 옵션
channels.twitch.enabled- 채널 시작 활성화/비활성화channels.twitch.username- 봇 사용자 이름(간소화된 단일 계정 구성)channels.twitch.accessToken- OAuth 액세스 토큰(간소화된 단일 계정 구성)channels.twitch.clientId- Twitch Client ID(간소화된 단일 계정 구성)channels.twitch.channel- 참여할 채널(간소화된 단일 계정 구성)channels.twitch.accounts.<accountName>- 다중 계정 구성(위의 모든 계정 필드)
도구 작업
에이전트는 다음 작업으로twitch를 호출할 수 있습니다.
send- 채널에 메시지 보내기
안전 및 운영
- 토큰을 비밀번호처럼 취급하세요 — 토큰을 git에 절대 커밋하지 마세요.
- 장기 실행 봇에는 자동 토큰 갱신을 사용하세요.
- 액세스 제어에는 사용자 이름 대신 사용자 ID 허용 목록을 사용하세요.
- 토큰 갱신 이벤트와 연결 상태를 위해 로그를 모니터링하세요.
- 토큰 범위를 최소화하세요 —
chat:read및chat:write만 요청하세요. - 막혔다면: 다른 프로세스가 세션을 소유하지 않는지 확인한 후 Gateway를 다시 시작하세요.
제한
- 메시지당 500자(단어 경계에서 자동 분할).
- Markdown은 분할 전에 제거됩니다.
- 속도 제한 없음(Twitch의 내장 속도 제한 사용).