Back
moderationagentsOpen source

Jev Anti-Spam Bot

Delete only high-confidence Telegram spam while keeping exemptions, thresholds, history, and failure behavior explicit.

What Jev decides

Whether each spam pattern applies and which contiguous recent messages are linked to the current spam campaign.

The grammY bot asks Jev a fixed battery of spam questions for each eligible message, checks a local threshold, identifies the linked suffix of a multi-message campaign, and fails open when classification or deletion is unavailable.

NOUL
Jev role
Estimate several kinds of spam and identify which recent messages belong to the same campaign.
Input
The current Telegram text or caption plus up to ten recent messages scoped to the same chat and sender.
Output
Noul probabilities for spam signals and recent-message linkage.
Decision frequency
One classification request per eligible message, followed by linkage decisions after a threshold match.
Fallback
Fail open and keep messages when Jev or Telegram is unavailable; exempt verified administrators and enforce deletion only after local threshold checks.
Author reported · Source reviewed

How it works

Input
The current Telegram text or caption plus up to ten recent messages scoped to the same chat and sender.
Jev
NOUL
Output
Noul probabilities for spam signals and recent-message linkage.

Overview

Jev Anti-Spam Bot moderates new and edited Telegram group messages and media captions. It skips verified group administrators and the receiving group own linked channel, while still analyzing external channel identities. One Jev request evaluates eighteen spam signals and one linkage question for each recent message. Short-lived per-chat and per-sender history lets the bot recognize campaigns split across several posts.

When any spam signal reaches the configured threshold, a second decision identifies the contiguous recent messages belonging to the same campaign, and the bot deletes only that suffix plus the current message. The model version and threshold are pinned in code. If Jev, Telegram, or optional statistics storage fails, messages remain untouched and the moderation path continues fail-open.

Language
TypeScript
License
MIT
Author
backmeupplz
Sources checked Sep 22, 2026

Sources

Related projects