Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
H

Herrscherd/herrscher-discord-gateway

Herrscher — Discord gateway plugin: adapts Discord (via dctl) onto the NATS message plane

Before you install: no copy-paste command · license MIT · link reachable

First step: nothing runnable here yet - start from the repository: https://github.com/Herrscherd/herrscher-discord-gateway

View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Star count
0 ★ · Herrscherd/herrscher-discord-gateway · read from the GitHub search API · (checked 2026-11-13 20:00:50)
Source
read directly from its GitHub page · type: open-source project
Harvest history
first seen 2026-11-09 · last seen 2026-11-14 · seen 6× · listed by 1 sources
Score
score 103 · 1 sources · repo
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository Herrscherd/herrscher-discord-gateway;first catalogued 2026-11-09;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

# herrscher-discord-gateway

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

The Discord edge. It adapts the dctl
Discord client to the Herrscher gateway ports and self-registers from init(),
so a host enables Discord with a blank import and a rebuild.
It is a pure plugin: no main, no composition root. It is also a smart
gateway. It implements EventSink and renders the live turn stream itself, so
the core never learns anything Discord-specific.
Status: live.
## Install
bash
herrscher plugin add github.com/Herrscherd/herrscher-discord-gateway
## Configuration
Each setting has a config key and an environment variable. The two are
interchangeable.
| Key | Environment | Default | What it is |
| token | DISCORD_BOT_TOKEN | required | the bot token |
| owner | DISCORD_USER_ID | | the user the bot always obeys, whatever the allowlists say |
| allowed_users | DISCORD_ALLOWED_USERS | | user ids allowed to make the bot act ( for anyone) |
| allowed_roles | DISCORD_ALLOWED_ROLES | | role ids allowed to, guild messages only |
| allowed_channels | DISCORD_ALLOWED_CHANNELS | every channel | the only channels it answers in |
| ignored_channels | DISCORD_IGNORED_CHANNELS | | channels it never answers in, whatever the rest allows |
| allow_all_users | DISCORD_ALLOW_ALL_USERS | off | let anyone who can reach the bot make it act |
| allow_bots | DISCORD_ALLOW_BOTS | none | whether other bots count as people: none, mentions, all |
| require_mention | DISCORD_REQUIRE_MENTION | on | need an @mention in a channel |
| thread_require_mention | DISCORD_THREAD_REQUIRE_MENTION | off | need one inside a thread the gateway opened too |
| free_response_channels | DISCORD_FREE_RESPONSE_CHANNELS | | channels it answers in unprompted ( for all) |
| sessions_per_user | DISCORD_SESSIONS_PER_USER | on | each participant of a channel gets their own session |
| thread_sessions_per_user | DISCORD_THREAD_SESSIONS_PER_USER | off | same inside a thread |
| agent | DISCORD_AGENT | | the persona every session runs as, which is what gates its tools |
| verbosity | DISCORD_VERBOSITY | silent | how much of a turn the channel sees, see below |
| context_messages | DISCORD_CONTEXT_MESSAGES | 30 | how many messages of channel history a turn carries |
| playbook | DISCORD_PLAYBOOK | pr-job | the playbook a session opens with |
| tidy_pings | DISCORD_TIDY_PINGS | off | delete the ping once its answer is posted, see below |
| message_deletes | DISCORD_MESSAGE_DELETES | off | contribute discord message delete, see below |
| heads_file | DISCORD_HEADS_FILE | built-in heads | JSON file overriding the emoji heads, see below |
| | DCTL_STATE_DIR | ~/.config/dctl | where the router and allow stores live |
Ports implemented: Gateway, EventSink, RoutedEventSink,
SessionControlReceiver, ChannelReader, MenuRouter, ChannelAdmin,
Prober, CommandSource, MessageEditor, NoticeSink.
## Rendering happens here, not in the core
The gateway receives the raw turn-event stream and draws Discord itself: a ⏳ ack
reaction on the triggering message, and a final reply that opens with the owner's
@mention and is chunked at Discord's 2000-rune limit.
The mention is not decoration. A turn runs for minutes and its answer is a plain
post, which notifies nobody. A turn that ends with nothing to say still posts a
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/herrscherd-herrscher-discord-gateway/)
Source
github · https://github.com/Herrscherd/herrscher-discord-gateway
Browse by field
Open source
added
today

More like this

All 1,671 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index