DTF разнёс моего бота для скинов. Я переделал его по вашим комментариям

DTF разнёс моего бота для скинов. Я переделал его по вашим комментариям

Недавно я рассказал о боте, который ищет выгодные скины CS2. В комментариях меня разнесли - и в одном были правы. Рассказываю, что исправил и что из этого получилось.

Недавно я написал здесь [ссылка] про CS2Deals - Telegram-бота, который ищет на market.csgo.com и lis-skins.com скины дешевле рынка. Пост посмотрели 2,6 тысячи человек, под ним набралось 35 комментариев. Примерно треть из них сводилась к «ботоводы должны гореть в аду», ещё часть - к тому, что я клоун.

Но среди этого был один комментарий, после которого мне пришлось переписать часть бота. И я решил рассказать об этом честно, потому что ошибка была не только в коде, но и в моих ответах вам.

Где я ошибся

Колдун и OculusMortem написали примерно одно и то же: «Ты купил AWP за 100 рублей, а продавец в течение 7 дней отменил трейд». Я ответил, что «трейд протект не всегда отменяется через поддержку» и что «с Лис скины приходят без трейдлока». Оба ответа были неправильными.

Я не трейдер и честно не до конца понимал, как работает Trade Protection - система Steam, которая появилась в 2025 году. Вот как она устроена на самом деле:

• Любой скин, который ты получил через обмен, первые 7 дней защищён. Передать его дальше нельзя - ни человеку, ни боту другой площадки.

• Тот, кто отдал скин, может сам отменить обмен из истории обменов, без всякой поддержки. После отмены Steam запрещает ему торговать 30 дней, но предмет к нему вернётся.

• «Моментальная доставка» на Лис означает только то, что бот магазина отправит скин сразу. Как только он пришёл к тебе, на нём включается та же 7-дневная защита.

А теперь посмотрите на мою прошлую статью. Я писал, что AWP за 124 ₽ «можно было купить и сразу продать в ордер за почти десять тысяч». Это неправда дважды: сразу продать нельзя, а продавец, ошибившийся с ценой, первым делом отменил бы сделку. И в самом боте была строчка «Сразу в ордер» - она обещала то, чего не бывает.

Так что комментаторы были правы, а я - нет. Спасибо им.

Что я исправил

1. Бот больше не обещает «сразу». Вместо «Сразу в ордер» теперь «В ордер через 7 дней», и в каждом уведомлении есть строка о Trade Protection. Звучит мелочью, но именно такие мелочи отличают честный инструмент от «кнопки бабло».

2. Предупреждение об ошибке продавца. Если скин на маркете стоит на 50% и больше ниже рынка, бот пишет: «⚠ Похоже на ошибку продавца — он может отменить сделку в течение 7 дней». AWP за 124 ₽ теперь пришёл бы именно с такой пометкой.

3. Магазин надёжнее человека. На market.csgo.com ты покупаешь у живого человека, и он может отменить обмен. Лис продаёт со своих ботов, а магазин обмены не отменяет. Поэтому в ежедневной «топ-сделке» бот теперь ставит сделки с Лис выше, даже если прибыль у них немного меньше.

Новая фича: насколько надёжен ордер через неделю

После исправлений встал главный вопрос. Если продать купленный скин можно только через 7 дней, как понять, что через неделю на маркете ещё будет покупатель по той же цене?

Маркет не показывает, когда был выставлен ордер на покупку, — только цены и количество. Поэтому бот теперь сам раз в час записывает стакан ордеров по всем предметам, которые попадали в сделки за последние три дня. Из этих записей он считает три вещи:

• Глубина. Сколько ордеров стоит в пределах 5% от лучшего. Если лучший ордер исполнят или снимут, рядом есть запасные.

• Стабильность. Сколько часов лучший ордер держится на уровне не ниже 95% от нынешнего.

• Худший случай. Самый низкий ордер за неделю наблюдений и прибыль, если продать по нему.

И даёт простую оценку: 🟢 надёжно, 🟡 средне или 🔴 рискованно. В уведомлении это выглядит так (цифры для примера):

Пример "опасной сделки"
Пример "опасной сделки"
Пример "средней сделки"
Пример "средней сделки"

Зеленые сделки появятся со временем, когда парсер занесет в БД длительность нахождения отслеживаемых лотов, маркетплейс эту инфу не предоставляет, поэтому обучаю сам.

Это не гарантия: ордер могут снять в любой момент. Но разница между «один ордер появился час назад» и «семь ордеров держатся третий день» - это ровно та разница, которая отделяет арбитраж от лотереи.

Про остальные комментарии

«У тебя конкуренция с тысячами ботов в Steam, на CSFloat и Buff». Справедливо. Ошибки продавцов вроде AWP за 124 ₽ почти всегда забирают за секунды, и мой бот, который проверяет цены раз в минуту, тут не соревнуется. Его сильная сторона в другом: арбитраж между площадками и поиск наклеек - там решает не скорость, а анализ.

«Почему сам не богатеешь на своём боте?» Потому что бот только находит и считает. Капитал, время и риск - у тех, кто покупает. Я разработчик, а не трейдер, и именно поэтому мне так нужны были ваши замечания.

«Ботоводы должны гореть в аду». Понимаю, откуда это: боты, которые за секунды выкупают всё выгодное на Авито и распродажах, бесят всех. Мой бот сам ничего не покупает - он присылает уведомление человеку, а решает и покупает человек. Но спорить с этим чувством я не буду, оно понятное.

Что бот умеет сейчас

DTF разнёс моего бота для скинов. Я переделал его по вашим комментариям

Что я вынес из этого

1. Грубый комментарий может быть правым. Если бы я отмахнулся от грубого комментария про отменённый трейд, бот до сих пор обещал бы людям невозможное.

2. Защищаться - плохая идея. Я ответил почти на каждый комментарий и в паре мест уверенно написал неправду. Лучше было один раз сказать «тут вы правы, разберусь».

3. Лучшая фича - честность. Пометка «через 7 дней» делает уведомления менее красивыми, зато им можно верить.

Если вы трейдите и видите ещё дыры в логике - пишите, на этот раз я сначала проверю, а потом буду отвечать. А если хотите, в следующий раз расскажу подробнее, как бот читает наклейки из сертификата осмотра - это была самая интересная часть работы.