mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
A version written into a manifest is written into every manifest that wants it, which is how eslint came to exist in a hundred and four forms across this estate and how a package came to resolve twice at run time. The catalog moves the number out of the manifest: a manifest names the package, the workspace names the version. Four are held below their latest because the newer release cannot be used, and the reason is recorded rather than the version alone: @noble/hashes 2 renamed every subpath the web3 stack imports, @splinetool/runtime 2 depends on a package that was never published, @dynamic-labs 5.4.1 the same, and react-resizable-panels 3 points its types condition at the bundle.
@hanzo/bot-twitch
Twitch channel plugin for Hanzo Bot.
Install (local checkout)
hanzo-bot plugins install ./extensions/twitch
Install (npm)
hanzo-bot plugins install @hanzo/bot-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: "hanzo-bot",
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-%20to-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: "hanzo-bot",
accessToken: "oauth:abc123...",
clientId: "xyz789...",
channel: "vevisk",
},
channel2: {
username: "hanzo-bot",
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.hanzo.ai/channels/twitch for:
- Token refresh setup
- Access control patterns
- Multi-account configuration
- Troubleshooting
- Capabilities & limits