Virtual Go-rlfriend. ;-)

Hey Guys,

I made this open-source. Maybe someone wants to have a look at this.
Telegram chatbot that will be your (non-spicy) chat Go-rlfriend

Please note that the prompts are in German :germany: , but maybe someone wants to improve this or use the concept for another really good chatbot.

Core Functionality

  • Virtual companion chatbot - Acts as a “virtual girlfriend” designed to combat loneliness (FSK 12 / age-appropriate, explicitly not a “Sexbot”)

  • Telegram integration - Runs as a Telegram bot that users can chat with directly

Memory System

  • Short-term memory - Retains the last 20 messages of the conversation

  • Long-term memory - Stores important information in a JSON structure including:

    • Life events

    • Dreams and wishes

    • Current topics

    • Hard facts (e.g., people in the user’s life like family members)

  • Automatic memory updates - Every 15 messages, a separate LLM analyzes the chat and updates the memory JSON

Conversation Behavior

  • Proactive messaging - Can initiate conversations on its own when the user hasn’t written in a while

  • Optional responses - Doesn’t have to reply to every message (can return an empty string to stay silent)

  • Multi-message responses - Can split longer responses into multiple messages sent with time delays

  • Time awareness - Incorporates timestamps for each message, considering both response time and time of day

  • Consistent personality - Maintains a coherent persona across unlimited conversation length

Safety & Access Control

  • User whitelist - Only responds to users listed in allowed_users.txt

  • Daily message limits - Configurable limits on usage (adjustable in limits.go)

  • Content moderation handling - Includes workarounds for when user input triggers LLM safety filters (Content RAG Poisoning mitigation)