telegram
RUEN
~/cases/digiseller-steamoffline

Digiseller SteamOffline

Продаёт оффлайн-активации Steam на Digiseller и выдаёт коды Steam Guard по запросу покупателя.

30 сживёт код Steam Guard
7 спроверка новых сообщений
3режима выдачи
2языка сообщений

Задача

Продавцу на Digiseller нужно было выдавать оффлайн-активации Steam без ручного дежурства: после оплаты — данные для входа, а по запросу покупателя — свежий код Steam Guard.

Что сделал

  • отслеживание оплат и автоматическая выдача данных в переписку заказа
  • распределение заказов по аккаунтам: берётся наименее занятый, с лимитом одновременных заказов
  • коды Steam Guard по слову «код», с лимитом кодов на заказ
  • три режима выдачи и отложенная выдача, если свободных аккаунтов не хватило
  • закрытие активации при возврате или истечении срока, напоминание об отзыве
  • сообщения на русском, английском или на двух сразу; статистика; Telegram-панель для аккаунтов, товаров и текстов

Под капотом

  • Свой генератор кодов Steam Guard с синхронизацией времени. Если коду осталось жить меньше нескольких секунд, бот дождётся следующего — покупатель не получит протухший код.
  • Без гонок: выбор аккаунта и запись активации идут под одной блокировкой, поэтому лимит одновременных заказов не превысить даже при параллельных покупках, а лимит кодов проверяется и списывается одной операцией.
  • Данные не теряются при сбое: атомарная запись на диск, повреждённый файл не затирается молча.
  • Устойчивый клиент Digiseller API: кэш токена, повторная авторизация, повторы с растущей паузой.
stack:Pythonaiogram 3requestssystemd

Код остаётся у заказчиков, поэтому на страницах кейсов — только описание.