mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-27 21:07:01 -06:00
3424633360
* fix(twitch): retain native sender identity in execution audits Forward the registered channel runtime and actual account identity, keeping native participants distinct from role authorization. Normalize the all role at the Twitch policy producer and preserve unknown and disabled-collection paths. Cover actual registered-plugin ingress and native reply delivery, and drain asynchronous monitor test work before cleanup. Related to #122863; no shared authorization or storage change. * test(twitch): track the registered context builder in inventory * test(twitch): honor host and plugin contract boundaries
@openclaw/twitch
Twitch channel plugin for OpenClaw.
Install (local checkout)
openclaw plugins install ./path/to/local/twitch-plugin
Install (npm)
openclaw plugins install @openclaw/twitch
Onboarding: select Twitch and confirm the install prompt to fetch the plugin automatically.
Config
Minimal config (simplified single-account):
⚠️ Important: requireMention defaults to true. Add access control (allowFrom or allowedRoles) to prevent unauthorized users from triggering the bot.
{
channels: {
twitch: {
enabled: true,
username: "openclaw",
accessToken: "oauth:abc123...", // OAuth Access Token (add oauth: prefix)
clientId: "xyz789...", // Client ID from Token Generator
channel: "vevisk", // Channel to join (required)
allowFrom: ["123456789"], // (recommended) Your Twitch user ID only (Convert your twitch username to ID at https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/)
},
},
}
Access control options:
requireMention: false- Disable the default mention requirement to respond to all messagesallowFrom: ["your_user_id"]- Restrict to your Twitch user ID only (find your ID at https://www.twitchangles.com/xqc or similar)allowedRoles: ["moderator", "vip", "subscriber"]- Restrict to specific roles
Multi-account config (advanced):
{
channels: {
twitch: {
enabled: true,
accounts: {
default: {
username: "openclaw",
accessToken: "oauth:abc123...",
clientId: "xyz789...",
channel: "vevisk",
},
channel2: {
username: "openclaw",
accessToken: "oauth:def456...",
clientId: "uvw012...",
channel: "secondchannel",
},
},
},
},
}
Setup
- Create a dedicated Twitch account for the bot, then generate credentials: Twitch Token Generator
- Select Bot Token
- Verify scopes
chat:readandchat:writeare selected - Copy the Access Token to
tokenproperty - Copy the Client ID to
clientIdproperty
- Start the gateway
Full documentation
See https://docs.openclaw.ai/channels/twitch for:
- Token refresh setup
- Access control patterns
- Multi-account configuration
- Troubleshooting
- Capabilities & limits