Implement automatic off-topic detection using Google search #324
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