github umputun/tg-spam v1.21.0

3 hours ago

This release introduces several new features focused on community moderation and UI improvements, along with important bug fixes for stopword detection and OpenAI integration.

New Features

User Spam Reporting System (#322)

Users can now report suspicious messages to moderators by replying with /report. When enough unique users report a message (configurable threshold), admins are notified and can take action. Includes:

  • Configurable report threshold and rate limiting
  • Admin controls to approve ban, reject report, or ban abusive reporters
  • Audit trail in database

Configuration:

  • --report.enabled - Enable user spam reporting
  • --report.threshold= (default: 2) - Reports needed to trigger admin notification
  • --report.rate-limit= (default: 10) - Max reports per user per period
  • --report.rate-period= (default: 1h) - Rate limit time period

Dictionary Management UI (#328)

New web interface for managing spam detection dictionaries:

  • Manage stop phrases (words that trigger spam detection)
  • Manage ignored words (tokens excluded from analysis)
  • Real-time updates with automatic spam filter reload
  • Accessible via webapi server

Delete Join/Leave Messages (#323)

New options to automatically delete system messages and keep chat clean:

  • --delete.join-messages / DELETE_JOIN_MESSAGES - Delete "User joined" messages
  • --delete.leave-messages / DELETE_LEAVE_MESSAGES - Delete "User left" messages

GPT-5 and Reasoning Models Support (#333)

Added support for OpenAI's GPT-5 and reasoning models using MaxCompletionTokens parameter instead of deprecated MaxTokens.

Bug Fixes

Stopword Detection Fix (#334)

Fixed stopword matching to handle multiple consecutive spaces. Previously "дам денег" wouldn't match "Дам денег" (with extra spaces). Now normalizes all spacing before comparison.

CAS API Reliability (#327)

Added retry logic and validation for CAS (Combot Anti-Spam) API calls to improve reliability.

Anonymous Admin Posts (#331)

Skip spam checks for anonymous admin posts when admins post "as the group" to avoid false positives.

Improvements

  • Documentation: Clarified WEB UI features including dictionary management
  • CI: Increased test timeout from 100s to 180s for stability
  • Logging: Added startup logging for delete join/leave options

Upgrade Notes

No breaking changes. All new features are opt-in and backward compatible with existing configurations.

If upgrading from v1.20.1 or earlier and using stopwords, no action needed - the space normalization fix will automatically improve detection.

Full Changelog

v1.20.1...v1.21.0

Don't miss a new tg-spam release

NewReleases is sending notifications on new releases.