Skip to content

feat!: anti-spam - #10

Merged
Asuniia merged 3 commits into
mainfrom
feat/anti-spam
Sep 23, 2026
Merged

Asuniia merged 3 commits into
mainfrom
feat/anti-spam

Conversation

@Asuniia

@Asuniia Asuniia commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

What

A bot cannot spam the mesh by accident any more:

  • commands ignore the Public channel unless they opt in with setScope('public'); channel.send() and message.reply() there reject with PublicChannelError
  • on a channel every refusal is silent (commandDenied only) and @bot answers one line
  • 10 parts / 5 min per channel and one flood adve refused with RateLimitError
  • new Client({ maxHops }) bounds how far the bot
  • client.radio.request() is the door for unwrapped Companion commands; the three transmitting ones are refused (Guarde

BREAKING CHANGE: Replies.unknownCommandChannel an
Replies.channelUntrusted are removed; commands no longer answer on the Public channel by default.

Checklist

  • pnpm check, pnpm typecheck, pnpm test, pnpm build pass
  • Tests cover the change
  • AGENTS.md of the touched packages updated when the public API, layout or rules changed
  • Changeset added (pnpm changeset) when a published package changed

A bot cannot spam the mesh by accident any more:

- commands ignore the Public channel unless they opt in with
  setScope('public'); channel.send() and message.reply() there reject
  with PublicChannelError
- on a channel every refusal is silent (commandDenied only) and @bot
  answers one line
- 10 parts / 5 min per channel and one flood adve
  refused with RateLimitError
- new Client({ maxHops }) bounds how far the bot
- client.radio.request() is the door for unwrapped Companion commands;
  the three transmitting ones are refused (Guarde

BREAKING CHANGE: Replies.unknownCommandChannel an
Replies.channelUntrusted are removed; commands no longer answer on the
Public channel by default.
@Asuniia Asuniia self-assigned this Sep 23, 2026
@Asuniia
Asuniia merged commit ee5b9de into main Sep 23, 2026
11 checks passed
@Asuniia
Asuniia deleted the feat/anti-spam branch September 23, 2026 05:13
@meshcorejs meshcorejs Bot mentioned this pull request Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant