umputun / tg-spam

Anti-Spam bot for Telegram and anti-spam library
https://tg-spam.umputun.dev
MIT License
217 stars 39 forks source link

Video only check doesn't work #176

Open dsent opened 1 week ago

dsent commented 1 week ago

META_VIDEO_ONLY check doesn't stop videos without text from being sent by users not in a whitelist. I can send the logs privately.

BorisOsipov commented 2 days ago

Ran into the same issue. Logs:


2024/11/03 11:08:33.147 [DEBUG] {app/main.go:154 main.main} options: {Telegram:{Token:****** Group:-1001265327547 Timeout:30s IdleDuration:30s} AdminGroup:-4122429759 DisableAdminSpamForward:false TestingIDs:[] HistoryDuration:24h0m0s HistoryMinSize:1000 Logger:{Enabled:false FileName:tg-spam.log MaxSize:100M MaxBackups:10} SuperUsers:[boris_osipov] NoSpamReply:true SuppressJoinMessage:false CAS:{API:https://api.cas.chat Timeout:5s} Meta:{LinksLimit:-1 ImageOnly:false LinksOnly:false VideosOnly:true} OpenAI:{Token: APIBase: Veto:false Prompt: Model:gpt-4o-mini MaxTokensResponse:1024 MaxTokensRequestMaxTokensRequest:2048 MaxSymbolsRequest:16000 RetryCount:1} Files:{SamplesDataPath:data DynamicDataPath:/srv/dynamic WatchInterval:5s} SimilarityThreshold:0.5 MinMsgLen:40 MaxEmoji:8 MinSpamProbability:50 MultiLangWords:0 ParanoidMode:false FirstMessagesCount:2 Message:{Startup: Spam:this is spam Dry:this is spam (dry mode) Warn:You've violated our rules and this is your first and last warning. Further violations will lead to permanent access denial. Stay compliant or face the consequences!} Server:{Enabled:false ListenAddr::8080 AuthPasswd:auto} Training:false SoftBan:false Dry:false Dbg:true TGDbg:false}
2024/11/03 11:08:33.148 [DEBUG] {app/main.go:304 main.checkVolumeMount} running in docker
2024/11/03 11:08:33.148 [DEBUG] {app/main.go:428 main.makeDetector} detector config: {SimilarityThreshold:0.5 MinMsgLen:40 MaxAllowedEmoji:8 CasAPI:https://api.cas.chat FirstMessageOnly:true FirstMessagesCount:2 HTTPClient:0xc0001efa10 MinSpamProbability:50 OpenAIVeto:false MultiLangWords:0}
2024/11/03 11:08:33.148 [INFO]  {app/main.go:456 main.makeDetector} videos only check enabled
2024/11/03 11:08:33.148 [DEBUG] {app/main.go:471 main.makeDetector} dynamic spam file: /srv/dynamic/spam-dynamic.txt
2024/11/03 11:08:33.148 [DEBUG] {app/main.go:475 main.makeDetector} dynamic ham file: /srv/dynamic/ham-dynamic.txt
2024/11/03 11:08:33.148 [DEBUG] {app/main.go:204 main.execute} data db: /srv/dynamic/tg-spam.db
2024/11/03 11:08:33.152 [DEBUG] {storage/approved_users.go:62 storage.(*ApprovedUsers).Read} read 337 approved users
....

2024/11/20 18:09:53.491 [DEBUG] {events/listener.go:271 events.(*TelegramListener).procEvents} {"message_id":72268,"from":{"id":5438819161,"first_name":"??????????"},"date":1732126193,"chat":{"id":-1001265327547,"type":"supergroup","title":"Selenide на русском","username":"selenide_ru","photo":null,"location":null},"forward_from_chat":{"id":-1002444296059,"type":"channel","title":"GAME TON","username":"wq32rt43gredgf","photo":null,"location":null},"forward_from_message_id":3,"forward_date":1732124773,"video_note":{"file_id":"DQACAgIAAx0CS2tduwABARpMZz4l8Vwovkp4M6z4DpZdaA6aCS8AAtxSAAKgnylLZ3ZMcVzQ9Tg2BA","file_unique_id":"AgAD3FIAAqCfKUs","length":400,"duration":15,"thumb":{"file_id":"AAMCAgADHQJLa127AAEBGkxnPiXxXCi-SngzrPgOll1oDpoJLwAC3FIAAqCfKUtndkxxXND1OAEAB20AAzYE","file_unique_id":"AQAD3FIAAqCfKUty","width":320,"height":320,"file_size":20372},"file_size":1937528},"message_auto_delete_timer_changed":null,"proximity_alert_triggered":null,"voice_chat_scheduled":null,"voice_chat_started":null,"voice_chat_ended":null,"voice_chat_participants_invited":null,"reply_markup":{"inline_keyboard":[[{"text":"🔰 ИГРАЮ ТУТ 🔰","url":"http://t.me/jeton_games?start=cd8jrsFna6Q"}],[{"text":"💸 БОНУС +1750$ 💸","url":"http://t.me/jeton_games?start=cd8jrsFna6Q"}]]}}
umputun commented 2 days ago

but your log is showing "text":"💸 БОНУС +1750$ 💸", this is not video-only content the check is supposed to handle

BorisOsipov commented 2 days ago

@umputun Strange. I see this text in reply_markup, not as text

"reply_markup": {
    "inline_keyboard": [
      [
        {
          "text": "🔰 ИГРАЮ ТУТ 🔰",
          "url": "url"
        }
      ],
      [
        {
          "text": "💸 БОНУС +1750$ 💸",
          "url": "url"
        }
      ]
    ]
  }
umputun commented 2 days ago

ah, maybe i misread it