Voice notes were always recognized with a hardcoded English locale,
which broke transcription for non-English speakers. The handler now
maps the profile's `preferred_language` to a BCP-47 code and passes it
to the Google recognizer, falling back to `pt-BR`.
Also neutralizes the persona prompt so it follows the selected
language instead of forcing Brazilian Portuguese and a fixed gender,
and resets the default `preferred_language` to `pt`.
Introduce a language selection command backed by a supported-language
table and per-language response instructions. The chosen code is stored
as `preferred_language` in the user profile and injected into the system
prompt so replies follow the selected language, with an `auto` option
for detection.
Also refreshes the agent and user profile timestamps and appends the
latest conversation context entries.
Extend the /help message so users can discover the full user manual
with examples and tips via /manual, and view system information,
version, author, and license via /about.
Also includes the generated conversation context snapshot for
2026-10-26 and the recompiled agent bytecode.
Introduce a complete `.env.example` covering Telegram, AI provider,
proactive messaging, web search, and vision settings so new users can
bootstrap configuration without reading the source.
Rework README.md with a feature list, project structure, and variable
reference tables; restructure DEPLOY.md with a table of contents,
prerequisites, and env var tables; update RULES.md to declare English
as the interface and documentation language and to document the
`iniciar.sh` entry script. Also add docstrings to schedule and web
search helpers and rename `schedule_data` to `schedule_answers` for
consistency with the other wizard state variables.
- Rewrite README.md, DEPLOY.md and RULES.md in English
- Translate module docstring, license string and inline comments
- Rename Portuguese state variables (is_agendamento, is_useragenda,
is_configia) to English equivalents (is_schedule, is_dailyroutine,
is_configai)
- Replace Portuguese web-search and file-creation trigger phrases
with English keywords
- Add VISION_MODEL and VISION_PROVIDER env options with openrouter
default and provider auto-detection from the model id
- Add /veriavision, /configiavision and /about commands
- Support natural-language editing of files inside workspace/ and a
/baixar command to download them
- Replace config-based timezone with system-local time detection
- Add module version/author/license metadata
- Document development conventions in new RULES.md and update
README.md/DEPLOY.md with the new commands and env vars
- Add WEB_SEARCH_ENABLED and WEB_SEARCH_MAX_RESULTS config options
- Detect search-intent messages via trigger keywords and inject web
results into the AI context
- Instruct the system prompt to use web search for factual, current,
or time-sensitive questions instead of inventing data
- Rename uploads directory from `uploadsfiles/` to `workspace/`,
updating .gitignore and backup instructions in DEPLOY.md
Add a voice message handler that downloads OGG audio, converts it to
WAV via pydub/ffmpeg, and transcribes it with Google Speech Recognition
(pt-BR) before feeding the text into the normal message pipeline.
Also extract shared text processing into process_text_message, guard
against updates without a text attribute, switch the default AI provider
to openrouter with deepseek-v4-flash, and document the ffmpeg system
requirement in DEPLOY.md.
Initial project setup including the main agent script, configuration
files, profile JSON state, systemd service unit, startup script,
deployment documentation, and Python dependencies.
Includes .env, venv/, and __pycache__/ which should likely be
excluded via .gitignore to avoid committing secrets and artifacts.