You are reading the Countegrity Community Edition documentation. Countegrity Enterprise docs are private and available to licensed teams only. Talk to sales

Overview

Countegrity Community Edition is the open-source Red cog that enforces the count in Discord "counting gimmick" channels, idempotently, by evaluating the whole channel log periodically and recent logs on every new addition.

Countegrity Enterprise ships with a private, gated documentation portal. Enterprise docs never appear on this site; talk to sales for access.

How it works

  • Live check: every new message is validated on arrival; anything that breaks the sequence is deleted with a short notice.
  • Catch-up: a bounded replay of the recent log runs after every new addition, so the checkpoint never trusts messages blindly.
  • Audit: the whole log is re-derived in bounded sections on a rolling daily rotation, so a count deleted or edited while the bot was offline surfaces no matter how long the channel is.
  • Clean channel: rejection notices delete themselves after 30 seconds; other bot messages are swept by the next catch-up or audit pass, so over time the channel holds only the clean count sequence.
  • Repair: a deleted count below the newest accepted count is a permanent hole. The cog posts a notice with a Confirm repair button; every other message is blocked until an admin (checked on the click) confirms, deleting everything after the last intact count so the sequence resumes there.
  • Edits: editing a count below the newest breaks the sequence the same way, but reversibly — the notice clears itself once the message reads as its count again. Editing the newest count rolls back automatically instead.

See the verification model for the full mechanics — chunk sizes, rate limits, tail draining and notice timers.

What counts

In a counting channel, every message must be:

  1. from a user, not a bot or webhook,
  2. exactly the previous count plus one; the sequence always starts at 1,
  3. from a different person than the last count; an admin can accept same-author increments up to a count with [p]count allowsame before <count> (see the command reference),
  4. the number and nothing else: no embeds, attachments, stickers, replies, polls or activity (reactions are always ignored). The number itself is strict too: no sign, separators, zero-padding, whitespace or Unicode digit lookalikes.

Anything else is deleted on arrival with a short notice naming the author, so the break is attributed on the spot. Message text is never repeated; only a message that is a plain integer shows that number.

Where to go next

Edit this page