1.1 KiB
1.1 KiB
Social Post Writer Bot — development
The bot prepares social-media posts only when the user explicitly asks. It transcribes Russian voice notes with APInex STT, classifies intent with an LLM, and uses Gemini 3.8 Flash via APInex to write/revise posts or infer Tone of Voice from a screenshot. A post request/revision returns three separate messages. The bot stores no conversation history.
- Runtime: Python 3.12, aiogram 3.x
- Coolify: project
Social Post Writer Bot, environmentdevelopment, serverspb-easy-dale - Gitea:
admin/social-post-writer-bot, branchdev - API key and model variables are stored only in Coolify:
APINEX_API_KEY,APINEX_STT_MODEL,APINEX_INTENT_CLASSIFIER_MODEL,APINEX_POST_WRITER_MODEL,APINEX_IMAGE_TONE_MODEL. - LLM model env defaults are
gemini-3.8-flash; STT model defaults to APInexnova-2. - Per-user Tone of Voice lives in SQLite at
/app/data/social_writer.sqlite3; persistent Coolify storage must be mounted at/app/data. - Telegram screenshots are sent to APInex as inline base64 data URLs; images and full source text are not persisted.
Local tests
Run python -m unittest discover -s tests -v.