• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / tg-spam
82%

Build:
DEFAULT BRANCH: master
Repo Added 06 Dec 2023 12:31AM UTC
Files 31
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 12-provide-flag-to-not-remove-user-after-unban
  • abnormal-spacing
  • add-from-detected-spam
  • add-slog
  • admin-info
  • alkk/master
  • approved-users-ui
  • audio-check
  • autoadd-ham
  • ban-user-instead-of-restriction
  • callback
  • cas-retry-fix
  • check-by-id
  • classifier-unlearn
  • clean-invisible-chars
  • clean-msg-fix
  • db-backup
  • dedup-samples
  • dependabot
  • dependabot/github_actions/github-actions-updates-20c91dd2a4
  • dependabot/github_actions/github-actions-updates-fcf4e41b5c
  • dependabot/go_modules/_examples/simplechat/github.com/umputun/tg-spam-1.18.0
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-0c570b14c2
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-28ef041b99
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-2c4077a24b
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-4af97a05b0
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-75e783174d
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-796ea05e18
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-8d185506e8
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-9e39e63601
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-aed0a436bf
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-b841ea8733
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-d503fb43d4
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-dd111468ba
  • dependabot/go_modules/_examples/simplechat/go-modules-updates-e06798f191
  • dependabot/go_modules/_examples/simplechat/modernc.org/sqlite-1.37.0
  • dependabot/go_modules/github.com/go-pkgz/testutils-0.4.2
  • dependabot/go_modules/go-modules-updates-589f0c7bc4
  • dependabot/go_modules/go-modules-updates-75e783174d
  • dependabot/go_modules/go-modules-updates-796ea05e18
  • dependabot/go_modules/go-modules-updates-94abde7b92
  • dependabot/go_modules/go-modules-updates-db89e520f1
  • dependabot/go_modules/go_modules-232a611e2d
  • dependabot/go_modules/go_modules-5a9c29dde4
  • detect-story
  • detector-persist
  • download-spam-button
  • drop-chi
  • dyn-update
  • easy-install-docs
  • eliminate-obsolete-flag
  • emoji-optimization
  • empty-text-locator
  • extra-delete-ids
  • extract-lib
  • faster-removal
  • feat/dictionary-management-ui
  • feat/handle-edited-messages
  • feat/sqlite-to-postgres-converter
  • feature-297-openai-thinking
  • feature-custom-prompts
  • feature-db-configuration
  • feature-lua-plugins
  • feature/add-spam-filter
  • feature/aggressive-cleanup
  • feature/auto-ban-threshold
  • feature/bot-no-sound
  • feature/delete-system-messages
  • feature/digitalocean-deployment
  • feature/duplicate-detection
  • feature/duplicate-detection-aggressive-cleanup
  • feature/info-on-unban
  • feature/issue92
  • feature/keyboard-detection
  • feature/mentions-limit
  • feature/openai-check-short-messages
  • feature/resend-orig-msg
  • feature/silent-messages
  • feature/user-spam-reporting
  • feature/username-symbols-check
  • feature/username-userid-stopwords
  • fix-174
  • fix-183
  • fix-295-giveaway-forwards
  • fix-304-reasoning-effort
  • fix-admin-error-propagation
  • fix-firstmgs-count
  • fix-forward-detection
  • fix-info-button-markdown-escaping
  • fix-issue-223
  • fix-optional-user-id
  • fix-samples-migration
  • fix-settings-formatting
  • fix-video-listener-event
  • fix/anonymous-admin-posts-skip-spam-check
  • fix/image-only-spam-reporting
  • fix/issue107
  • fix/short-message-approval
  • forward-check
  • hashed-web-passwd
  • ignore-classifier
  • imporve-hist-openai
  • improved-settings-page
  • letterlikе
  • lib-example
  • links-only
  • linter-v2-migration
  • loading-indicator-delete
  • master
  • meta-checks
  • min-spam-probability
  • more-commands
  • more-ui
  • multi-first
  • multi-lang
  • multi-storage
  • negative-time
  • normalize-spam-text
  • opeani-ignore
  • open-ai
  • openai-apibase
  • openai-veto
  • optimize-exclude-match
  • optimize-sample-loader
  • paskal/bump_modules
  • paskal/claude
  • paskal/dependabot-disable-updates
  • paskal/dependabot-security-updates
  • paskal/dockerfile_comment
  • paskal/fix_ci
  • paskal/fix_golangci_lint
  • paskal/fix_typos
  • paskal/go-flags
  • paskal/openai_doc
  • paskal/remove-unused-code
  • paskal/remove_unused_moq
  • paskal/small-fixes
  • paskal/switch_to_newer_tb_lib
  • paskal/test_examples
  • paskal/update_doc_and_readme
  • paskal/update_modules
  • paskal/use_ghcrio
  • patch-1
  • persistent-locator
  • persitent-ids
  • pic-caption
  • refactor-admin
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.2.0
  • refs/tags/v0.2.1
  • refs/tags/v0.2.2
  • refs/tags/v0.2.3
  • refs/tags/v0.2.4
  • refs/tags/v1.0.0
  • refs/tags/v1.0.1
  • refs/tags/v1.1.0
  • refs/tags/v1.1.2
  • refs/tags/v1.10.0
  • refs/tags/v1.10.1
  • refs/tags/v1.10.2
  • refs/tags/v1.10.3
  • refs/tags/v1.11.0
  • refs/tags/v1.11.1
  • refs/tags/v1.11.2
  • refs/tags/v1.11.3
  • refs/tags/v1.11.4
  • refs/tags/v1.11.5
  • refs/tags/v1.11.6
  • refs/tags/v1.12.0
  • refs/tags/v1.12.1
  • refs/tags/v1.12.2
  • refs/tags/v1.13.0
  • refs/tags/v1.13.1
  • refs/tags/v1.13.2
  • refs/tags/v1.13.3
  • refs/tags/v1.13.4
  • refs/tags/v1.13.5
  • refs/tags/v1.13.6
  • refs/tags/v1.14.0
  • refs/tags/v1.14.1
  • refs/tags/v1.14.2
  • refs/tags/v1.14.3
  • refs/tags/v1.15.0
  • refs/tags/v1.16.0
  • refs/tags/v1.16.1
  • refs/tags/v1.16.2
  • refs/tags/v1.16.3
  • refs/tags/v1.17.0
  • refs/tags/v1.18.0
  • refs/tags/v1.18.1
  • refs/tags/v1.19.0
  • refs/tags/v1.19.2
  • refs/tags/v1.2.0
  • refs/tags/v1.2.1
  • refs/tags/v1.2.2
  • refs/tags/v1.2.3
  • refs/tags/v1.2.4
  • refs/tags/v1.2.5
  • refs/tags/v1.20.0
  • refs/tags/v1.20.1
  • refs/tags/v1.3.0
  • refs/tags/v1.3.1
  • refs/tags/v1.4.0
  • refs/tags/v1.4.1
  • refs/tags/v1.4.2
  • refs/tags/v1.5.0
  • refs/tags/v1.5.1
  • refs/tags/v1.5.2
  • refs/tags/v1.5.3
  • refs/tags/v1.6.0
  • refs/tags/v1.6.1
  • refs/tags/v1.7.0
  • refs/tags/v1.8.0
  • refs/tags/v1.8.1
  • refs/tags/v1.8.2
  • refs/tags/v1.8.3
  • refs/tags/v1.9.0
  • remove-from-aproved
  • reply-ban
  • req-history
  • retry-openai
  • retry-plain
  • rt-aproved-save
  • settings-ui
  • small-screen-styles
  • soft-ban
  • softmax_float64_underflow
  • spam-storage
  • sqlite-all
  • supers-by-id
  • training-ban
  • training-mode
  • unban-confirm
  • universal-multilang
  • v1.4.2
  • video-check
  • volume-warns
  • web-checker
  • webapi
  • would

04 Nov 2025 08:45PM UTC coverage: 81.809% (-0.003%) from 81.812%
19082335171

push

github

web-flow
Skip spam checks for anonymous admin posts (#331)

* feat: skip spam checks for anonymous admin posts

Implements automatic exclusion of anonymous admin posts from spam detection while maintaining spam checks for channel forwards and regular users.

Changes:
- Added check in listener.go to skip spam detection when msg.SenderChat.ID == fromChat
- Added comprehensive test coverage with 4 test cases
- Updated README.md to document the behavior

Behavior:
- Anonymous admin posts (when admins post "as the group") skip spam check
- Channel auto-forwards (SenderChat.ID != chat ID) still checked for spam
- Regular user messages (no SenderChat) still checked for spam
- Works uniformly across primary group, testing chats, and all allowed chats

The fix compares msg.SenderChat.ID to fromChat (the actual chat the message came from) rather than l.chatID, ensuring proper handling of anonymous admin posts in testing chats configured via --testing-id.

Related to #330

* docs: add clarifying comment for SenderChat check

Explains that when admins post 'as the group', SenderChat.ID equals the group's chat ID. This clarifies why checking ID != 0 is sufficient (it's a struct value, not a pointer).

4 of 4 new or added lines in 1 file covered. (100.0%)

1 existing line in 1 file now uncovered.

6152 of 7520 relevant lines covered (81.81%)

272.61 hits per line

Relevant lines Covered
Build:
Build:
7520 RELEVANT LINES 6152 COVERED LINES
272.61 HITS PER LINE
Source Files on master
  • Tree
  • List 31
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
19082335171 master Skip spam checks for anonymous admin posts (#331) * feat: skip spam checks for anonymous admin posts Implements automatic exclusion of anonymous admin posts from spam detection while maintaining spam checks for channel forwards and regular users... push 04 Nov 2025 08:50PM UTC web-flow github
81.81
19082013764 fix/anonymous-admin-posts-skip-spam-check docs: add clarifying comment for SenderChat check Explains that when admins post 'as the group', SenderChat.ID equals the group's chat ID. This clarifies why checking ID != 0 is sufficient (it's a struct value, not a pointer). Pull #331 04 Nov 2025 08:36PM UTC umputun github
81.85
19081859314 fix/anonymous-admin-posts-skip-spam-check feat: skip spam checks for anonymous admin posts Implements automatic exclusion of anonymous admin posts from spam detection while maintaining spam checks for channel forwards and regular users. Changes: - Added check in listener.go to skip spam... Pull #331 04 Nov 2025 08:29PM UTC umputun github
81.81
18667709086 feature/auto-ban-threshold docs: refine auto-ban plan with shared helper and send usage Incorporate external review feedback: - Extract executeBanOperations helper to avoid duplication between auto-ban and manual admin approval flows - Use send helper for consistent Mark... push 20 Oct 2025 11:27PM UTC umputun github
81.8
18640987819 master feat(reports): implement user spam reporting feature (#322) * docs(plan): add user spam reporting feature implementation plan add comprehensive plan for /report command allowing regular users to report spam messages for admin review. key feature... push 20 Oct 2025 03:21AM UTC web-flow github
81.81
18640970302 feature/user-spam-reporting docs: move completed user spam reporting plan to completed/ Plan has been fully implemented and tested. push 20 Oct 2025 03:19AM UTC umputun github
81.8
18640971151 feature/user-spam-reporting docs: move completed user spam reporting plan to completed/ Plan has been fully implemented and tested. Pull #322 20 Oct 2025 03:19AM UTC umputun github
81.85
18640772188 feature/user-spam-reporting fix(events): add padding to ensure full-width buttons in user spam reports add braille pattern blank (U+2800) padding to notification messages to ensure inline keyboard buttons expand to full width. telegram sizes buttons based on message text wi... Pull #322 20 Oct 2025 03:07AM UTC umputun github
81.8
18640773086 feature/user-spam-reporting fix(events): add padding to ensure full-width buttons in user spam reports add braille pattern blank (U+2800) padding to notification messages to ensure inline keyboard buttons expand to full width. telegram sizes buttons based on message text wi... Pull #322 20 Oct 2025 03:07AM UTC umputun github
81.8
18635509520 feature/user-spam-reporting refactor(events): add defensive nil check for ReplyToMessage in user reports add nil check at function entry to guard against ReplyToMessage being nil, though caller already validates this. provides clearer error message and makes function more r... Pull #322 19 Oct 2025 08:16PM UTC umputun github
81.77
See All Builds (1155)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc