Files
social-post-writer-bot/README.md
T

1.1 KiB

Social Post Writer Bot — development

The bot prepares social media posts on explicit request. It uses APInex STT for Russian voice messages and Gemini 3.8 Flash through APInex for intent classification, post writing/revision, and visual reading of post screenshots to infer a personal Tone of Voice.

  • Runtime: Python 3.12, aiogram 3.x
  • Coolify environment: development on spb-easy-dale
  • Gitea branch: dev
  • Runtime variables are configured only in Coolify: BOT_TOKEN, BOT_ENV, APINEX_API_KEY, APINEX_STT_MODEL, APINEX_INTENT_CLASSIFIER_MODEL, APINEX_POST_WRITER_MODEL, APINEX_IMAGE_TONE_MODEL, BOT_DB_PATH.
  • Models default to gemini-3.8-flash; STT defaults to APInex nova-2.
  • Per-user Tone of Voice is stored in SQLite at /app/data/social_writer.sqlite3; mount a persistent Coolify volume at /app/data.
  • Each explicit post request and each reply-edit returns three posts as separate Telegram messages. No conversational history is stored.
  • Screenshots are sent to vision using inline base64 data URLs; uploaded images and source post texts are not persisted.

Local tests

Run python -m unittest discover -s tests -v.