Bot account (hroth_bot) sends chat messages via tmi.js to my own channel (hrothgar_gaming), where it has Moderator status (not Editor). Messages display in chat — both the official website and the official mobile app — under the broadcaster’s name/badges instead of the bot’s, even though:
-
https://id.twitch.tv/oauth2/validateconfirms the token belongs tohroth_bot(login: hroth_bot), with correctclient_id(my own registered app, not a shared one) -
Scopes:
chat:edit,chat:read,moderator:read:chatters -
Server log confirms
Connected to irc-ws.chat.twitch.tv:443 as hroth_bot -
Application-level logging confirms the exact outgoing message text and intended sender before the
client.say()call -
Verified with only one active connection (killed all duplicate Node processes)
-
Verified with no other bot/tool (Firebot, StreamElements, Nightbot, WarpWorldBot) connected during testing
-
Reproduced from a third-party test account, ruling out “viewing own chat” as a cause
-
Confirmed via two independent clients (twitch.tv website and Twitch mobile app) — same misattribution on both
This started after regenerating the bot’s OAuth token partway through development (same account, same custom Client ID, just a new token). The very first token generated for this bot worked correctly before regeneration.