name: Arteggia Promo Bot
description: Telegram-бот акції «2× Arteggia у чеку → промокод на безкоштовну Vertebra на medizine.ua». Live @arteggia_promo_bot.
type: project
originSessionId: af564bcd-a210-4cb2-b2be-94d8aace8d83
Arteggia Promo Bot
Статус: live, MVP v0.1, 2026-04-20
Bot: @arteggia_promo_bot (ID 8660071271) — https://t.me/arteggia_promo_bot
Code: /srv/projects/arteggia-bot/
Wiki: /srv/wiki/arteggia-bot/index.md
Systemd: arteggia-bot.service (enabled, auto-start)
Механіка
Пацієнт купує 2 упаковки Arteggia → надсилає фото чека в бот → OCR (Gemini 2.5 Flash via Replicate) → валідація → промокод на безкоштовну Vertebra на medizine.ua.
Правила
- Період: 01.04.2026 – 31.12.2026
- 1 людина (унікальний номер телефону) = 1 промокод
- 1 фіскальний чек = 1 видача (anti-replay fiscal_id + SHA256 фото)
- Проміжкод зараз placeholder
ARTEGGIA-TEST-2026 — замінити на CSV-loader реальних після валідації OCR на живих чеках
Стек
- aiogram 3 (Telegram), FSM = MemoryStorage (рестарт = юзери губляться, TODO: Redis)
- OCR:
google/gemini-2.5-flash через Replicate (/srv/passepartout/replicate/token.txt)
- SQLite локально:
/srv/projects/arteggia-bot/data/db.sqlite
- Phase 2 (TODO): Supabase/Postgres + Redis FSM + real codes CSV
Admin (тільки Сергій, ID 312194208)
/log — останні 15 чеків, /log approved|rejected|error — фільтр
/comment <receipt_id> <текст> — коментар
/stats — approved/rejected/issued
- Автопуш: успішні видачі, нечитабельні чеки, Vision errors
Open items
- 🔄 CSV-loader реальних промокодів (FIFO) — після валідації OCR на кількох живих чеках
- 🔄 Redis FSM storage (рестарти не губитимуть users)
- 🔄 Supabase migration (Phase 2, при scale)
- 🔄 Web-interface (якщо захочемо поза Telegram — треба SMS-верифікація)
Not integrated
НЕ інтегруємо з medizine.ua. Промокоди живуть на стороні medizine (CMS). Бот лише видає stringу.