Как я написал бота для поиска соперников в сквош.
Бот - @PlaySquashBot
Сквош — игра интересная. Но есть один нюанс: найти партнёра или соперника на конкретное время и в конкретном клубе не всегда просто. Особенно если играешь нерегулярно, или уровень у тебя отличается от друзей по кортам.
Я сам столкнулся с этой проблемой — и, как разработчик, решил не страдать, а написать решение. Так появился бот для организации матчей в сквош.
Как работает бот
🙋♂ В боте можно: @PlaySquashBot
- создать матч (дата, время, город, клуб, уровень игры),
- записаться к другим игрокам,
- посмотреть участников, связаться с организатором,
- отменить игру или свою запись.
Все матчи публикуются в группе города, в котором будет матч :
Система рейтинга — зачем?
Главная боль в любительских матчах — «пропавшие игроки». Кто-то записался и не пришёл. Или отменил за 10 минут до игры.
Чтобы это не превращалось в хаос, я сделал рейтинг ответственности (от 0 до 3 звёзд):
- ⭐⭐⭐ — стартовый рейтинг у всех новичков;
- если приходишь на матчи — рейтинг сохраняется;
- если отменяешь в последний момент или не приходишь — рейтинг падает.
❌ На 1 звезде — нельзя создавать новые матчи, только записываться. 🚷 На 0 звёздах — блокировка до объяснения ситуации админу.
Эта простая механика уже сильно повышает дисциплину: никто не хочет лишиться доступа к играм.
Немного про разработку
Бот написан на Node.js + Telegraf, база — Postgres, хостится на Amvera Cloud. Это первая версия, поэтому баги и шероховатости возможны, но базовый функционал работает.
С технической стороны было интересно продумать:
- хранение матчей и игроков в базе,
- обработку статусов и рейтинга,
- удобный UX в рамках Telegram.
Зачем это всё
Во-первых, я сделал инструмент, который реально решает мою личную проблему. Во-вторых, хочется развивать сообщество любителей сквоша: чем проще искать партнёров, тем больше людей будут играть.
И да, это пример того, как небольшая разработка может приносить пользу — не только автору, но и целому комьюнити.
Если вы играете в сквош — приходите в бота, создавайте матчи и находите соперников. Если вы разработчик — пишите, расскажу, как всё устроено изнутри.
🤝 Давайте играть честно и ответственно!