Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

HiveMind Twitch Bridge

This bridge relays a Twitch channel's chat to a HiveMind hub.

The bridge is a HiveMind satellite. Its input and output are Twitch IRC chat instead of a microphone. A chat message that carries a trigger tag becomes an utterance sent to the hub. The hub's spoken reply is echoed back into the channel, addressed to the user. Any HiveMind hub, and the OVOS skills behind it, becomes a Twitch chat bot.

Twitch chat (IRC)  ⇄  HiveMind-twitch-bridge  ⇄  HiveMind hub  ⇄  OVOS skills

Prerequisites

  • A running HiveMind hub (hivemind-core) reachable over the network, and a HiveMind access key for this bridge (hivemind-core add-client).
  • A Twitch account for the bot and a chat OAuth token for it. Generate one at https://twitchapps.com/tmi/ (the token has the form oauth:...).
  • The channel name whose chat the bot should join.

Install

Install from a checkout:

git clone https://github.com/JarbasHiveMind/HiveMind-twitch-bridge
cd HiveMind-twitch-bridge
pip install .

This installs the hivemind-twitch-bridge console entry point. Runtime dependencies: hivemind-bus-client, ovos-bus-client, ovos-utils.

Quickstart

1. Register the bridge on the hub (where hivemind-core is installed):

hivemind-core add-client --name twitch-bridge \
  --access-key "your-access-key" --password "your-password"

2. Run it. The bridge connects to the hub as a satellite and joins the Twitch channel:

hivemind-twitch-bridge \
  --channel your_channel \
  --oauth oauth:your_chat_token \
  --tag @bot --tag @jarbas \
  --host wss://127.0.0.1 --port 5678 \
  --access-key your-access-key --password your-password

You can also call connect_twitch_to_hivemind(...) from twitch_bridge.__main__ directly in Python.

3. Send a message. In the channel's chat, include a trigger tag:

@bot what time is it?

The bridge strips the tag, forwards the message to the hub, and posts the reply back to the channel as @user , <answer>.

Configuration

hivemind-twitch-bridge / connect_twitch_to_hivemind(...) options:

Option Description Default
--channel Twitch channel name to join none
--oauth Twitch chat OAuth token (oauth:...) none
--tag Trigger tag (repeatable). A chat message containing one is forwarded @bot
--nickname Twitch bot nickname bot
--lang Utterance language en-us
--host HiveMind hub host (wss:// / ws://) wss://127.0.0.1
--port HiveMind hub port 5678
--access-key HiveMind access key None
--password HiveMind password (the Noise PSK for a v3-Noise hub; required alongside --access-key) None
--self-signed Accept self-signed SSL certificates off

See docs/configuration.md for the full parameter reference.

Troubleshooting

  • Bot never answers: confirm the chat message contains a trigger tag. Tags are matched case-insensitively and stripped before forwarding.
  • Cannot connect to Twitch: verify the OAuth token is current (regenerate at https://twitchapps.com/tmi/) and the channel name is spelled correctly.
  • No reply posted: confirm the hub is reachable and the access key is registered (hivemind-core list-clients), and that the hub produces a speak for the answer. The single most common cause is a missing allow-msg whitelist — a freshly added client is denied every message type by default; see operator-setup.md.
  • "invalid api key" on connect: the bridge's hivemind-bus-client is too old for the hub's protocol version. Update it (pip install -U hivemind-bus-client).
  • Hub rejects the connection after it was reinstalled or its identity changed: the client pins the hub's Noise public key on first connect and refuses a hub presenting a different one. Run hivemind-client reset-noise-pin and reconnect.

Documentation

  • Setup walkthrough: from nothing to a working bot, step by step.
  • Operator setup: getting the bot's Twitch account and chat OAuth token, registering the bridge on a HiveMind hub, the run command, security notes, and live-test environment variables.
  • Configuration reference: every credential and parameter the bridge accepts.
  • Examples: a worked conversation and a standalone Twitch echo bot for testing credentials.

Related projects

License

See LICENSE.

Metadata

Release files for HiveMind-twitch-bridge 0.0.5a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for HiveMind-twitch-bridge 0.0.5a2
File Size Uploaded
hivemind_twitch_bridge-0.0.5a2.tar.gz 14.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for HiveMind-twitch-bridge 0.0.5a2
File Interpreter ABI Platform
hivemind_twitch_bridge-0.0.5a2-py3-none-any.whl Python 3 none any Details

Total release size: 27.2 kB

Release files / hivemind_twitch_bridge-0.0.5a2.tar.gz

Download URL hivemind_twitch_bridge-0.0.5a2.tar.gz
Size 14.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b13373d22d88d78b18dfded8349e59f09cc712094ed8e6c64e99d5377de97308
BLAKE2b-256 checksum
How to use checksums
1afe4e97b3671ba2d9d7614069dbc87a083c2f6b39d8c4e3e39841a417857e29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / hivemind_twitch_bridge-0.0.5a2-py3-none-any.whl

Download URL hivemind_twitch_bridge-0.0.5a2-py3-none-any.whl
Size 12.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5f172c7e5a288eeac0b34cd94eee02a5ad92ef4e7cdf863f2e36196bb43f21e
BLAKE2b-256 checksum
How to use checksums
2aa0bc0a2fdfad3e50ce51434a8e070389462db69d1a129bad2ca279ea506805
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page