Skip to content

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

RegisterWhat it does
registerCommandA slash command for the message box
registerContextMenuActionAn entry in a message’s right-click menu, optionally under Copy
registerPanelA side panel rendered with React
registerMessageFilterA test that drops matching messages before they’re shown

Included plugins

PluginWhat it adds
Copy user IDCopy a chatter’s numeric Twitch user id from a message’s Copy menu
Insert timestampA /timestamp command that puts the current time in the message box
Massping creatorA panel that turns selected chatters into an @name message in the message box, with optional prefix and suffix text and saved regex exclusions
AI assistantSummarize, 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.