diff --git a/extensions/twitch/src/plugin.test.ts b/extensions/twitch/src/plugin.test.ts new file mode 100644 index 000000000..1c49e0cca --- /dev/null +++ b/extensions/twitch/src/plugin.test.ts @@ -0,0 +1,37 @@ +import { describe, expect, it } from "vitest"; +import type { ClawdbotConfig } from "clawdbot/plugin-sdk"; +import { twitchPlugin } from "./plugin.js"; + +describe("twitchPlugin.status.buildAccountSnapshot", () => { + it("uses the resolved account ID for multi-account configs", () => { + const secondary = { + username: "secondary", + accessToken: "oauth:secondary-token", + clientId: "secondary-client", + enabled: true, + }; + + const cfg = { + channels: { + twitch: { + accounts: { + default: { + username: "default", + accessToken: "oauth:default-token", + clientId: "default-client", + enabled: true, + }, + secondary, + }, + }, + }, + } as ClawdbotConfig; + + const snapshot = twitchPlugin.status.buildAccountSnapshot({ + account: secondary, + cfg, + }); + + expect(snapshot.accountId).toBe("secondary"); + }); +}); diff --git a/extensions/twitch/src/plugin.ts b/extensions/twitch/src/plugin.ts index 1330c05cb..b741f9d57 100644 --- a/extensions/twitch/src/plugin.ts +++ b/extensions/twitch/src/plugin.ts @@ -212,7 +212,7 @@ export const twitchPlugin: ChannelPlugin = { DEFAULT_ACCOUNT_ID; const tokenResolution = resolveTwitchToken(cfg, { accountId: resolvedAccountId }); return { - accountId: DEFAULT_ACCOUNT_ID, + accountId: resolvedAccountId, enabled: account?.enabled !== false, configured: isAccountConfigured(account, tokenResolution.token), running: runtime?.running ?? false,