Hermes-Neo 962b2359c1
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Fix voice text channel detection & cross-channel hour purge (#1)
Two fixes in `src/handlers.rs`:

**1. Voice text channel detection**
Messages sent in voice channel text threads have a different `channel_id` than the parent voice channel. The `message` handler now falls through to check `msg.thread.parent_id` — if the parent is a watched channel, it catches them.

**2. Cross-channel 1-hour message purge**
When a user is banned, the bot now fetches the last 10 messages from **every** watched channel in the guild and bulk-deletes any from that user within the past hour (snowflake timestamp boundary). Catches messages sent before the trigger message hit.

Reviewed-on: http://git.infernonode.com/HotaruBlaze/Cinderwatch/pulls/1
Co-authored-by: Hermes-Neo <hermes-neo@noreply.localhost>
Co-committed-by: Hermes-Neo <hermes-neo@noreply.localhost>
2026-07-02 12:59:44 +01:00
2026-06-03 21:38:26 +01:00
2026-06-03 21:38:26 +01:00
2026-06-03 21:38:26 +01:00
2026-06-03 21:38:26 +01:00
2026-06-03 21:47:13 +01:00
2026-06-03 21:47:13 +01:00
2026-06-03 22:16:30 +01:00
2026-06-03 22:07:33 +01:00
2026-06-03 21:38:26 +01:00

Cinderwatch

A Discord antispam bot that watches designated channels, deletes messages, and bans users who post in them.

Usage

  1. Copy .env.example to .env and set DISCORD_TOKEN.
  2. cargo run
  3. Use /mod_channel, /watch, /unwatch, /ban_reason, /immune_role to configure per-guild.
Description
No description provided
Readme 110 KiB
Languages
Rust 97.3%
Dockerfile 2.7%