Docs
Plugins
Plugins extend Chatge with commands, message menu actions, panels and message filters. Turn any of them on or off in Settings → Plugins; turning one off deactivates it at once.
What a plugin can add
| Register | What it does |
|---|---|
registerCommand | A slash command for the message box |
registerContextMenuAction | An entry in a message’s right-click menu, optionally under Copy |
registerPanel | A side panel rendered with React |
registerMessageFilter | A test that drops matching messages before they’re shown |
Included plugins
| Plugin | What it adds |
|---|---|
| Copy user ID | Copy a chatter’s numeric Twitch user id from a message’s Copy menu |
| Insert timestamp | A /timestamp command that puts the current time in the message box |
| Massping creator | A panel that turns selected chatters into an @name message in the message box, with optional prefix and suffix text and saved regex exclusions |
| AI assistant | Summarize, explain, draft and translate with your own AI setup. Off by default; each action can be turned off separately in Settings, AI. |
What a plugin looks like
A plugin is a manifest plus an activate function that receives the plugin API. This one hides messages
from chat bots:
export const hideBotsPlugin: ChatPlugin = {
manifest: {
id: 'example.hide-bots',
name: 'Hide bots',
version: '1.0.0',
apiVersion: 1,
},
activate(api) {
const bots = new Set(['nightbot', 'streamelements'])
api.registerMessageFilter({
id: 'hide-bots',
test: (msg) => bots.has(msg.userLogin),
})
},
}
Each plugin declares the API version it was written for (apiVersion), so plugins keep working as Chatge
grows. A few plugins ship with Chatge today. Support for writing and installing your own plugins is coming soon; if you have one in mind, tell us about it.