Implement automatic off-topic detection using Google search - #324
Open
konard wants to merge 3 commits into
Open
Conversation
Adding CLAUDE.md with task information for AI processing. This file will be removed when the task is complete. Issue: #64
This implementation adds off-topic detection functionality to the Python VK bot: Features: - Detects messages that are not programming-related - Uses keyword-based search simulation (can be replaced with Google Custom Search API) - Checks search results against whitelist of programming websites - Configurable minimum word count and detection settings - Only processes non-command messages from regular users Technical details: - Added OffTopicDetector class in modules/off_topic_detection.py - Integrated detection into main bot message processing - Added comprehensive list of whitelisted programming websites - Includes test suite and documentation in experiments/ folder - Uses mock search for testing (production should use real search API) Configuration: - OFF_TOPIC_DETECTION_ENABLED: Enable/disable feature - OFF_TOPIC_MIN_WORDS: Minimum words to trigger detection (default: 3) - PROGRAMMING_WEBSITES_WHITELIST: List of allowed programming sites The bot will now warn users when it detects potentially off-topic messages, helping maintain programming-focused discussions as requested in issue #64. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
konard
marked this pull request as ready for review
September 13, 2025 21:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 Summary
This PR implements automatic off-topic detection for the VK bot as requested in issue #64. The system analyzes user messages and warns when they appear to be off-topic (not programming-related).
🚀 Features
🔧 Implementation Details
Core Components
OffTopicDetector Class (
python/modules/off_topic_detection.py)Integration (
python/__main__.py)Configuration (
python/config.py)PROGRAMMING_WEBSITES_WHITELIST: 60+ programming sitesOFF_TOPIC_DETECTION_ENABLED: Feature toggleOFF_TOPIC_MIN_WORDS: Minimum words thresholdHow It Works
🧪 Testing
Comprehensive test suite included:
experiments/test_standalone_detection.pyexperiments/test_off_topic_detection.pyexperiments/README.mdTest Results
🎛️ Configuration
📋 Production Notes
Current Implementation: Uses keyword-based mock search for testing and development
Production Recommendations:
🔄 Related Issues
Fixes #64 - Automatic off-topic detection using Google search
Related to #63 - Search Google for answers to questions
🧪 Testing Instructions
Run Tests:
Manual Testing:
OFF_TOPIC_DETECTION_ENABLED = True📈 Impact
🤖 Generated with Claude Code