March 7

Обновленное описание функционала чекера, а также гайд по работе с ними

t.me/checkerlovli

Гайд имеет отношение к @checkerrieltorki_bot. Официальная группа чекера - @checkerlovli. Резервная группа - @checkerlovli_rez. Саппорт - @checkerlovli_robot.


Привет, дорогой друг! Данная статья рекомендуется к прочтению перед покупкой товара. В ней будет разобран основной функционал нашего продукта, а также даны рекомендации по его использованию.

Начнем с разбора функционала, к которому доступ после покупки остается навсегда (за исключением того, что юзер удален из бота за нарушение правил пользовательского соглашения).

1. Nondev функционал

Этот тип подписки называется nondev и доступ к нему остается после конца купленной подписки, либо юзер с купленной подпиской может выдать ее Вам (до 5-ти ключей с доступом к этому типу подписки, об этом будет далее).

Из функционала для таких людей доступно следующее:

cancel - Выйти из любого состояния в боте
calc_tax - Калькулятор налога
checkhouse - Получить информацию по дому на сервере
checkhouses - Получить информацию по домам в промежутке на сервере
checkbiz - Получить информацию по бизнесу на сервере
checkbizes - Получить информацию по бизнесу в промежутке на сервере
checkplayerhistory - Просмотр истории владений игрока
checkbizhistory - Просмотр истории изменений бизнеса
checkhousehistory - Просмотр истории изменений дома
find - Получить информацию по игроку на сервере
findall - Поиск имущества игрока по все

Функционал достаточно простой. Визуализация большинства этих команд предоставлена на скриншоте ниже.
Аргументы для команд следующее:

checkhouse [id] [server]⃰
checkhouses [start_id]⃰ [end_id]⃰ [min_owned]⃰ [server]⃰
checkbiz [id] [server]⃰
checkbizes [start_id]⃰ [end_id]⃰ [min_owned]⃰ [server]⃰
checkplayerhistory [nickname] [server]⃰
checkbizhistory [id] [server]⃰
checkhousehistory [id] [server]⃰
find [nickname] [server]⃰
findall [nickname]

[server]⃰ - порядковый номер сервера (1, 24, 31 и так далее)
[start_id]⃰ - начало промежутка для проверки (например 100)
[end_id]* - конец промежутка для проверки (например, 300, или, если неизвестно, - 3000)
[min_owned]⃰ - количество имущества:
- Можно указать 'all' == любое количество имущества (>= 1)
- Можно указать через строгие неравенства. Например: <10, что будет означать, что у человека 1, 2, 3, ..., 9 единиц имущества.
- Можно указать точное количество имущества (например 3, что будет означать, что у человека ровно 3 заданного (исходя из команды) единицы имущества)
Визуализация функционала nondev

2. Dev функционал

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

Теперь разберем функции платной подписки, или же dev подписки. Начнем по порядку:

2.1. Риелторское агентство

Каждый пользователь, который приобрел подписку, получает инвайт в закрытую группу с риелторкой. Если вы покупали через бота, ссылка находится в инструкции:

пример инструкции при покупке

Прием заявок осуществляется в течение 72 часов после приобретения. Группа очищается каждые 1,5–2 месяца от людей без активной подписки. Вступление в группу — по желанию. Постинг осуществляется в подобном формате:

@checkerlovli rielta [dev]

В боте тоже есть чекер риелторки:

findislet - Поиск ближайших слетов (только для второго сезона)
get_rielta [server]⃰ [?h]⃰ - Выгрузка риелты на определенном сервере

[server]⃰ - Порядковый номер сервера (например 1, 25, 31)
[?h]⃰ - Необязательный параметр (по умолчанию - 15h). Количество часов, которые нужно выгрузить (например 7h, 12h)
/findislet (Поиск слетающего имущества на сезоне "Скорострелы")
/get_rielta

На втором сезоне можно также отдельно чекнуть ваш сервер и получить дату/время слета имущества:

Кнопка "Чекер риелторки" в основном меню в t.me/checkerrieltorki_robot

2.2. Основной функционал

Теперь разберем все команды, к которым имеет доступ пользователь с DEV подпиской.

hide_subscribe - Скрыть подписку
dev_find - Получить информацию по игроку на сервере, включая онлайн
set_heatmap_style - Установить стиль для тепловой карты в /dev_find
dev_findall - Поиск имущества игрока по всем серверам, включая его онлайн
dev_checkbizes - Получить информацию по бизнесам в промежутке на сервере, включая онлайн владельцев
dev_checkhouses - Получить информацию по домам в промежутке на сервере, включая онлайн владельцев
dev_checkbizes_online - Получить информацию по бизнесу в промежутке на сервере, включая только людей, у которых есть вход в промежуток оплаты (либо вообще нет входов)
dev_checkhouses_online - Получить информацию по домам в промежутке на сервере, включая только людей, у которых есть вход в промежуток оплаты (либо вообще нет входов)
set_output_format - Установить настройку вывода
-- (ВРЕМЕННО НЕДОСТУПНО, ОБНОВЛЯЕТСЯ АВТОМАТИЧЕСКИ) update_info - Обновить информацию с карты штата
dev_ping - Проверить состояние ботов
generate_key - Возможность сгенерировать до 5-ти ключей для доступа к nondev подписке

2.2.1. Поиск игроков

Аргументы для команд следующее:

dev_find [id] [server]
set_heatmap_style [style]
dev_findall [nickname]

- В server необходимо указать порядковый номер сервера.
Для поиска по VC в server необходимо указать 1001 
и добавить к никнейму указание на сервер (например [09]Sergio_Revazz)

У /dev_find существует множество стилей для тепловой карты. Все они находятся тут.

Сам /dev_find выглядит следующим образом:

Пример ответа на /dev_find
Пример тепловой карты в /dev_find

В /dev_findall отображается все имущество людей с таким никнеймом на всех серверах, включая Vice-City.

/dev_findall

2.2.2. Поиск домов/бизов с учетом онлайна

Аргументы для команд следующее:

/dev_checkbizes [start_id]⃰ [end_id]⃰ [min_owned]⃰ [server]
/dev_checkhouses [start_id]⃰ [end_id]⃰ [min_owned]⃰ [server]
/dev_checkbizes_online⃰⃰
/dev_checkhouses_online⃰⃰
/set_output_format [txt | html | simplified-html]
[server]⃰ - порядковый номер сервера (1, 24, 31 и так далее)
[start_id]⃰ - начало промежутка для проверки (например 100)
[end_id]* - конец промежутка для проверки (например, 300, или, если неизвестно, - 3000)
[min_owned]⃰ - количество имущества:
- Можно указать 'all' == любое количество имущества (>= 1)
- Можно указать через строгие неравенства. Например: <10, что будет означать, что у человека 1, 2, 3, ..., 9 единиц имущества.
- Можно указать точное количество имущества (например 3, что будет означать, что у человека ровно 3 заданного (исходя из команды) единицы имущества)
⃰⃰ - речь оних будет в дальнейшем

Для всех указанных выше команд можно изменить формат вывода через /set_output_format, указав нужный тип. По умолчанию стоит html.

• html - вывод с форматированием HTML
• txt - простой текстовый вывод в txt/сообщением (в зависимости от длины)
• simplified-html - простой HTML вывод без использования JS (если браузер ругается на использование любых JS скриптов, например в Safari)

2.2.2.1. /dev_checkhouses | /dev_checkbizes

Разбор будет с выводом в HTML. Никакой особой разницы между /checkhouses и /checkbizes нет — только отображение онлайна.

Находим промежуток и указываем его в [start_id] и [end_id]. Если промежутка нет, анализируем либо на глаз, либо указываем 0 и 3000. В выводе получаем вот такое:

/dev_checkbizes | /dev_checkhouses

2.2.2.2. /dev_checkhouses_online | /dev_checkbizes_online

Эти команды работают следующим образом: на основе указанных параметров ищутся игроки, которые соответствуют дате и времени оплаты имущества, а затем выводятся указанным методом.

У этого способа есть единственный большой минус:
- Никаким образом невозможно узнать, оплатил ли человек свое имущество через личный кабинет или оплатили ли у него имущество заместители.

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

Для работы команды необходимо указать следующее (ввод идет вручной, бот показывает подсказки после ввода команды):

Начало/конец промежутка
Количество имущества (точное количество/через строгие неравенства/all)
Наличие страховки (1 - есть, 0 - нет)
Количество часов до слета (если, например, сейчас 15:35, а слет в 17:00, то необходимо указать '1'. Если слет в 20:00 — '4' и так далее)
Интервал проверки ⃰ (рекомендуется ставить либо 2, либо 3)
Номер сервера (порядковый номер. например '1', '2', '25')

Интервал проверки работает следующим образом: допустим, слет в 17:00 07.03.2025. На основе указанных вами параметров (страховка, количество часов до слета, интервал проверки) бот автоматически вычисляет час, в который должна была произойти оплата (например, 13:xx 05.03.2025). Интервал определяет, сколько часов будет учитываться: если указать 1, то будут искаться люди с заходами между 12:00 и 14:00 05.03.2025; если указать 2 — между 11:00 и 15:00 05.03.2025 и так далее. То есть это работает как ± к дате оплаты.

2.2.3. Генерация ключей и их активация

Каждый человек с подпиской может сгенерировать до 5 nondev ключей. Узнать количество оставшихся ключей можно, прописав команду /profile:

/profile

Для генерации ключа необходимо использовать команду "/generate_key nondev":

/generate_key

После этот ключ можно передать например вашему другу. Ключи активируются через /activate_key [ключ]

/activate_key

2.2.4. Скрытие подписки

/hide_subscribe

Введя /hide_subscribe вы можете с легкостью скрыть вашу подписку для, например, дальнейшего прохождения проверки. Все продумано: вы не сможете абсолютно ничего сделать, пока не введете команду для восстановления подписки, а к команде /return_subscribe имеет доступ каждый (даже люди, без какой-либо подписки к боту), но по-настоящему он работает только для людей со скрытой подпиской =)

3. Работа с ботом

3.1. Предисловие

Начнем с того, что получить сто процентов информации не получится ни при каких обстоятельствах. У нас нет доступа к какой-либо админской или секретной информации, откуда мы берем точную дату и время слета. Наш проект позиционируется как сборщик информации для упрощения дальнейшего поиска.

Можно также процитировать слова Валерия Калашникова, основоположника всех чекеров (и не буду отрицать: если бы не он, то не было бы никаких арзмониторингов, глазов Аризоны и прочих ботов, связанных с ловлей):

Каждый слет по своему уникальный. Да, было сделано многое для упрощения чека. Требуется нажать пару кнопок. Но для лучшего результата лучше анализировать самому + опыт очень сильно решает. Если есть огромный опыт в ловле, намного легче разобраться в первый раз в чекере. Если есть огромный опыт в чекере, то намного больше улова получается.
(c) Valerii Kalashnikov

Возможно мы не дотягиваем до уровня продукта Калашникова, а так оно и есть, но факт остается фактом. Каждый слет - уникальный, узнать 100% информацию на слет невозможно (даже если человек в бане и его последний заход был точь-в-точь в дату/время оплаты).

Закончим на рассуждениях. Перейдем к самой работе с ботом.

3.2. Как искать промежутки & тип страховки?

Начнем с 1-го сезона ("Ловля по инфе"), по сути основной и главный сезон для юзеров нашего бота.

В основном боте используем /get_rielta, получаем файл с промежутками:

/get_rielta

Допустим мы ищем промежутки на этот дом:

Дом, на который мы будем искать промежутки.

Мы отметили удобным цветом дом, промежутки на который мы будем искать. Это второй дом в списке.
В 00:00 он был 2 PayDay, а в 23:00 этот же дом стал 3 PayDay. Если у имущества отнимается 1 PayDay, то имущество считается страхованным; если 2 — страховка отсутствует. Так как разница у нас только 1 PayDay - имущество страхованное.
Помимо этого также узнаем через сколько слетит имущество. Заходим в бота, вводим /start и нажимаем на кнопку "Узнать за сколько слетит", после ищем наш сервер.

"Узнать за сколько слетит"

На дрейке страхованные дома слетают за два пэйдэя, следственно слет должен быть в этот PayDay (если мы берем, что мы сейчас где-то в 23.02.2025 00:53 и сейв в 00:00 - последний).

Отсюда мы берем следующее (это пригодится в дальнейшем):

  • Тип имущества - дом
  • Тип страховки - страхованный (1)
  • Количество часов до слета - 1

Теперь мы ищем непосредственно сами промежутки. Подобным образом отмечаем этот дом в оставшихся сейвах:

Промежуток уже 0-694

Мы пролистали весь сейв и нашли "максимум", который можно выжать - 0-521. Следственно, мы имеем:

  • Тип имущества - дом
  • Тип страховки - страхованный (1)
  • Количество часов до слета - 1
  • Промежуток (start, end) - 0, 521
  • Количество имущества - 1

Все эти данные мы можем использовать для поиска по /dev_checkhouses_online. Описание этих функций находится здесь.

3.3. Как искать информацию по /dev_checkhouses_online | /dev_checkbizes_online

Воспользуемся данными, которые мы нашли выше. Введем их все в бота:

Получаем файл

Интервал я лично выбираю 1. Рекомендованный - 2 или 3, можно ставить больше (это на ваше усмотрение).

3.3.1. Разбор вывода

Мы получили такой вывод:

/dev_checkhouses_online

Рассмотрим детально, за что здесь отвечает каждая часть.

  1. Интервал проверки: здесь как раз таки пишется интервал времени захода, с которым подбираются игроки.
  2. Последняя активность: 'Неизвестно/нет' означает, что последний заход игрока неизвестен. Это связано с тем, что игрок не заходил в течение длительного времени (если перефразировать: наши боты не смогли увидеть его в онлайне за последние полгода).
  3. В интервале: это говорит о том, что заход игрока был в нужном нам интервале проверки.
  4. Изменения: здесь отображаются изменения игрока в имуществе за неделю. Если человек продал какой-то дом/бизнес или он у него слетел - это отобразится.
пример человека с изменениями за неделю

Это означает, что у человека в течение недели куда-то пропал 454 дом (h - house, b - business).

3.3.2. Анализируем

Отлично, мы получили список подходящих вариантов. Пролистаем немного вниз и найдем варианты с минимальной разницей между интервалом времени оплаты и последним заходом.

Пришло время анализировать.

Интервал проверки — с 2025-02-18 16:00 по 2025-02-18 18:00. Последний заход пользователя Andrey_Marich — 2025-02-18 16:57:08. После него идут люди с заходами 20, 21 и так далее. Андрей идеально подходит под наши условия, следовательно, с вероятностью 85% имущество слетит именно у Андрея. И.. слетел именно 336 дом:

Это один из самых простых примеров. Бывают значительно более сложные ситуации, например, когда таких вариантов несколько или их нет вообще. Тогда может потребоваться использование команд /dev_checkbizes или /dev_checkhouses, или же можно вставать на "рандом". Но с опытом приходит осознание различных "флагов" на слет имущества, и вы будете вставать на то, что слетает, в 7 из 10 случаев (а это средняя статистика, говорю на своем опыте).

Такими флагами может быть например:

  • Наличие слетевших домов/бизов у этого человека в течение недели
  • У этого человека уже когда-то слетало имущество
  • Человек находится в бане/неактивно играет. Например у него вот такая активность:
p.s. у него кстати бизаки попадали на 03-м, когда он их держал несколько лет (отель казик и азс сми лв)
  • На примере - Человек заходит в игру менее чем на 10 минут (исходя из интенсивности цвета) раз в несколько дней.

Такой же анализ может быть и в промежутках. Опять же на примере из 3.2:

Посмотрели, дом бывает на 2-4 позиции. Раз он бывает на этих позициях - это точно не сотые дома, а ~250-300. Следственно, я буду смотреть промежуток 300-521, а не 0-521. Или, наоборот - мы уже вбили промежуток 0-521 и смотрим:

Это упасть не может - явно на 2-4 позиции не может быть дом с 1-м айдишником.

И этот дом тоже нет. И так, после анализа уже останется несколько идеально подходящих вариантов.

Навык подобного анализа появляется с опытом. Очень маловероятно, что неопытный ловец, который до этого не пользовался чекером Калашникова и только недавно начал заниматься ловлей, сможет найти всё и сразу. Для этого потребуется накопление опыта и анализ в случае неудач (конечно, если не учитывать, что у человека заход в день слета, но даже в этом случае имеет смысл посмотреть его онлайн).

4. Рефлексия

Это необязательная часть статьи, здесь будут только мысли автора.

За время написания этой статьи (около 5 часов) мы обнаружили, что teletype.in является отличной альтернативой лагучему telegra.ph. Мы также исправили один из багов, возникших после недавнего обновления с риелтой (невозможно было чекать VC).

Мы надеемся, что предоставили полезную базу для работы с нашим продуктом. Надеемся, что наши старания не прошли зря и что статья действительно поможет кому-то.

Удачной ловли! Спасибо за прочтение ❤️