Anton Gladkov · 2025-12-25 · 02-own-projects · source ↗
Что ж, всех с Рождеством - кто живёт по западную стену Пограничья! Сегодня я пол
Что ж, всех с Рождеством - кто живёт по западную стену Пограничья!
Сегодня я получил в подарок закрытую цель… и благостное расслабление перед следующим рывком =)
Мультиплеер-Телеграм-шахматы родились окончательно - и работают ровно так, как я себе представлял.
Последний штрих допилен и оттестирован: теперь любой пользователь Телеграма может оплодотворить свой канал крупицей интеллектуальной энергии. Несколько маленьких каналов уже поставили себе лобби, и даже успели сыграть первые партии с ребятами из нашего канала.
Установить эти шахматы на свой канал можно по нехитрой инструкции:
1. Назначаем @pussywetbitchassbot админом канала
Минимальные права: постинг, пиннинг и удаление сообщений (можете дать хоть все права - бот ничего кроме одной функции на сторонних каналах все равно не умеет).
2. Постим на канале ровно одно:
/chess_lobby
Без лишних символов.
Всё. Я вложил достаточно маны в заклинание простоты - и не думаю, что юзерфлоу может быть проще в принципе в текущей версии Телеграма:)
Важно: “удаление сообщений” боту разрешать не обязательно. Я добавил это чисто для удобства, чтобы бот мог подтереть пост /chess_lobby, который вы закинули намоленной рукой.
Если удаление не разрешать - бот просто запостит и запинит лобби, и всё. Ровно так же, как это произошло на канале, где вы читаете этот текст: плашка сверху в Pin-секции - это ровно то, что появится и у вас.
И это, по сути, единственное проявление бота на вашем канале.
Ну, если вы, конечно, не попросите меня запилить что-то ещё: я могу делать для комьюнити модули и команды на любой вкус. То, что придумает для себя один, - “зашипится” с описанием в ботменю “зачем это и как работает” сразу для всех =)
С первой строчки кода до результата ушло 12 дней: первая строчка появилась 12 декабря, крайняя - 24-го.
В сумме конкретно шахматного функционала - примерно 28 тысяч строк кода.
Создание продукта оказалось жутко интересным.
MVP родился почти сразу - на него ушло едва ли два часа.
Но дальше выяснилось, что каждая циферка, кнопочка, нотификация - это отдельный мини-продукт. Их там сотни: оптимизации, логика на бэке, состояния, проверки, сценарии, UX/UI-углы, логирование…
Некоторые штуки - как попкорн: взорвались рабочим кодом за 3 минуты. На некоторые ушли часы.
Например, способность бота жить на сторонних каналах заняла около трёх часов, из которых писать кодом кодексу пришлось минут пять. Остальное время - проектирование: что именно писать в эти пять минут, как писать, и главное - с учётом всего, что уже было написано до этого.
Я как будто оказался в книжке “Deadline” Тома ДеМарко и на своей шкуре прочувствовал его мысль: если почти всё время потратить на проектирование, а не на реализацию, то рабочий код пишется с первого раза. И если проектирование получилось всамделишным - в таком коде почти нет багов:)
Если грубо прикинуть: в среднем я тратил на разработку около 8 часов в день, но эти 12 дней я кодил не только шахматного бота, а ещё и хитрые автоматизации для SLSBMB. Думаю, именно на шахматы в текущем виде ушло около 50 часов чистого мозгового ресурса.
Несколько человек за эти дни спрашивали: “Зачем ты это делаешь?” и “Почему именно шахматы? Что в них такого?”
На любой вопрос есть тьма ответов. Шутка жизни в том, что они на противоположных концах мыслесферы обязаны друг другу противоречить - оставаясь при этом абсолютно верными и рациональными, если смотреть на схему в самом грубом приближении.
Во‑первых, я большой поклонник интеллекта, а шахматы - одна из самых известных его эмблем.
Во‑вторых, мне просто понравились шахматы.
Я помню, как сидел в кресле в три часа ночи в кабинете поздней осенью 2023‑го, и мне вдруг засвербило срочно чем‑нибудь увлечься. Я вспомнил про шахматы и решил сыграть на первом попавшемся сайте. Проиграл десять раз подряд - и решил, что буду смотреть видосы на ютубе про шахматы, пока не выиграю хотя бы одну игру за чёрных и одну за белых, поставив в обеих кому‑нибудь мат пешкой. А дальше подумаю, надо ли оно мне.
“Дальше” пока так и не наступило, даже спустя 4400+ прожитых партий:)