Skip to content

VK Bot: Ask random person with for programming languages or GitHub page - #283

Open
konard wants to merge 4 commits into
mainfrom
issue-150-f759718f
Open

VK Bot: Ask random person with for programming languages or GitHub page#283
konard wants to merge 4 commits into
mainfrom
issue-150-f759718f

Conversation

@konard

@konard konard commented Sep 12, 2025

Copy link
Copy Markdown
Member

Summary

This PR implements the VK Bot daily outreach feature requested in issue #150. The bot will now:

Daily outreach: Once per day, find a random user without programming languages or GitHub profile information
Random questions: Ask one of two random questions in Russian:

  • "У вас есть страничка на GitHub?" (Do you have a GitHub page?)
  • "Какие языки программирования вы знаете?" (What programming languages do you know?)
    Automatic processing: When users respond with GitHub links or programming languages, automatically add this information to their profiles

Implementation Details

New Components

DailyOutreach class (python/modules/daily_outreach.py):

  • Manages daily frequency control (once per day per chat)
  • Finds users without programming languages or GitHub profiles
  • Randomly selects users and questions
  • Processes responses automatically using regex patterns

Integration points:

  • Added to main bot initialization in __main__.py
  • Integrated into message processing pipeline
  • Uses existing data service and VK API wrapper

Key Features

  1. Smart user filtering: Only targets users who have neither programming languages nor GitHub profiles
  2. Daily frequency: Uses date-based checking to ensure questions are asked only once per day
  3. Automatic profile updates: Detects GitHub URLs and programming language mentions in responses
  4. Group chat only: Only operates in group chats (peer_id >= 2e9)
  5. Non-intrusive: Integrates seamlessly with existing command processing

Test Plan

  • Syntax validation with Python compiler
  • Code integration with existing bot architecture
  • Pattern matching logic for GitHub URLs and programming languages
  • Daily frequency control mechanism
  • User filtering logic for finding candidates

Fixes #150

🤖 Generated with Claude Code

Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #150
@konard konard self-assigned this Sep 12, 2025
…profiles

- Add DailyOutreach module to ask random users about programming languages and GitHub profiles once daily
- Automatically process user responses and add information to their profiles
- Integration with existing VK bot architecture in __main__.py
- Support for detecting GitHub links and programming language mentions in responses
- Daily frequency control to prevent spam

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] VK Bot: Ask random person with for programming languages or GitHub page VK Bot: Ask random person with for programming languages or GitHub page Sep 12, 2025
@konard
konard marked this pull request as ready for review September 12, 2025 19:22
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VK Bot: Ask random person with for programming languages or GitHub page

1 participant