Telegram-бот
Твои игры в той же группе, где вы и так всё обсуждаете. Бот публикует каждую игру, держит список играющих в актуальном виде и даёт ответить одним касанием.
Групповой бот ещё не работает на продакшене. Пока он живёт на девстеке, так что имя бота и ссылки с этой страницы начнут работать только тогда, когда появится продакшен-бот.
Зачем это
Игры организатора из Amator попадают в группу в Telegram, а игроки отвечают в группе. Никто не переписывает список, никто не считает ответы — сам пост и есть ответ на вопрос «кто в субботу».
Бот делает три вещи:
- публикует каждую новую игру организаторов, подключённых к группе;
- держит каждый пост в актуальном виде — кто играет, кто в резерве, сколько мест свободно;
- принимает ответы с трёх кнопок под постом и сразу записывает их в игру.
Всё происходит в группе и в личном чате бота. Больше бот не пишет никуда.
Для организатора
Добавь бота в группу
Добавь the Amator bot в группу в Telegram так же, как любого другого. Заходя, бот ничего не напишет — так и задумано, чтобы не влезть посреди разговора.
Если хочешь, чтобы текущая игра была закреплена, дай ему право закреплять сообщения. Без этого права он просто никогда не закрепляет.
Отправь /bind
Отправь /bind в группе. Подключить группу может только админ — бот спрашивает у Telegram твой статус в этот момент, а не верит самому сообщению.
Если твой Telegram привязан к одному аккаунту Amator и ты организуешь сам, ответ будет такой:
✅ Готово! Твои игры из Amator будут публиковаться в этой группе.
Группа в Telegram, где бот отвечает на /bind одной строкой: «✅ Готово! Твои игры из Amator будут публиковаться в этой группе.»
Если ты ещё и капитан клуба, бот сначала спросит — Чьи игры публиковать в этой группе? — с кнопкой на каждый вариант: Мои игры и Клуб {owner}. Нажать может только тот, кто отправил /bind. Вопрос потом превращается в ответ, так что в группе остаётся одно сообщение, а не три.
Два ответа значат, что сначала надо кое-что поправить:
| ответ | что делать |
|---|---|
| Сначала привяжи Telegram в Amator… | Открой личный чат с ботом и перейди по ссылке из приложения: Профиль → Настройки → Подключённые аккаунты → Telegram. |
| Ты пишешь как анонимный админ… | Выключи анонимность на минуту или воспользуйся ссылкой из приложения. |
Игры начинают приходить
С этого момента каждая новая игра того организатора появляется здесь через пару секунд после создания. Игру, которую уже отменили или которая уже прошла, бот не объявляет никогда.
Пост строка за строкой
⚽ Mokotów · 7×7
🗓 суббота, 24 октября · сбор 14:45 · игра 15:00–17:00
📍 Orlik Cieszyńska · Mokotów, Варшава
💰 15 zł с человека
📶 Начинающий – Продвинутый
👤 Организатор: Vlad
Играют (4/12) · минимум 8
1. Vlad K.
2. Igor D.
3. Player
4. Guest (запас)
Резерв (2)
1. Andrii F.
2. Tážū
Когда освободится место — первый из резерва переходит в основу
Думают (2)
Не буду (1)
⚠️ Ещё 4 до минимума · свободно 8
Чтобы записаться — открой бота и нажми StartПост игры в группе Telegram: название и формат, дата со сбором и временем игры, площадка, цена, уровень, организатор, а ниже — нумерованный состав, резерв и строка состояния
| строка | что это |
|---|---|
| название | название игры и её формат. Зачёркнуто, когда игру отменили. |
| 🗓 | день, время сбора и начало и конец самой игры. |
| 📍 | площадка, район и город. Пропускается, пока место не публичное. |
| 💰 | цена с человека. Пропускается, когда игра бесплатная. |
| 📶 | уровень, а если игра берёт несколько — диапазон. |
| 👤 | имя организатора. |
| Играют (принято/максимум) | кто в составе, по порядку. · минимум N добавляется только тогда, когда у игры есть минимум — и исчезает, когда минимум равен максимуму, потому что тогда он ничего не говорит. Игрок с пометкой (запас) занимает гостевое место. |
| Резерв (N) | очередь, когда организатор принимает игроков автоматически. Курсив под ней говорит, что первый из очереди заходит на освободившееся место. При ручном приёме вместо этого стоит Заявки (N). |
| Думают / Не буду | два списка ответов. Имена всегда сложены в раскрывающуюся цитату, даже одно, чтобы пост оставался коротким. У второго списка в заголовке слова самой кнопки ❌. |
| строка состояния | ⚠️ Ещё N до минимума ниже минимума, ✅ Игра состоится от минимума и выше или Набор игроков, когда минимума нет — а за ним свободно N. Полная, закрытая, отменённая или прошедшая игра заменяет всю строку своей: Мест нет · есть резерв, 🔒 Запись закрыта., ❌ Игра отменена, Игра состоялась · игроков: N. |
| строка записи | Чтобы записаться — открой бота и нажми Start, где середина — ссылка. Только пока игра принимает ответы и профиль из Telegram создавать можно — см. как записаться без приложения. |
Длинные списки складываются: больше восьми имён уходят в раскрывающуюся цитату, а после сорока хвост превращается в … и ещё N. Если пост всё равно слишком длинный для Telegram, бот сокращает списки — сначала резерв, «думают» и «не буду», состав — последним.
Кнопки
| кнопка | что делает |
|---|---|
| ✅ Буду | отвечает «да». Есть, пока игра открыта или полна. |
| ❌ Не буду | отвечает «нет». |
| ⏳ Позже | записывает тебя в «думают», чтобы организатор знал, что игру ты видел. |
| 📋 Открыть | открывает игру — в Mini App, когда она подключена, иначе страницу игры. Есть всегда. |
| 📅 Все игры | ближайшие игры этой группы. Только при подключённой Mini App. |
Три кнопки ответа под постом — «✅ Буду», «❌ Не буду», «⏳ Позже» — а под ними «📋 Открыть»
Нажатие кнопки не пишет в группе никакого сообщения. Меняется сам пост, так что одна игра остаётся одним сообщением, даже если ответили двенадцать человек.
Как пост обновляется
Каждый ответ, каждое изменение в игре и каждое напоминание обновляют пост. Бот собирает изменения вместе — примерно через пять секунд после последнего и не позже чем через двадцать секунд после первого — так что двенадцать человек, ответивших разом, дают одно изменение, а не двенадцать. Если в тексте на самом деле ничего не изменилось, бот не делает ни одного вызова.
Несколько вещей приходят ответом под постом, а не изменением в нём: другое время, другое место, напоминание за день и — не чаще раза в сутки — алерт нужно ещё игроков с одной кнопкой ✅ Буду.
Telegram ограничивает, как быстро бот может писать в один чат, поэтому бот держится одной операции в три секунды на группу. В пике изменения становятся в очередь, а не падают.
Правила игры
Если организатор приложил к игре правила, игрок после ✅ Буду получает их в личном чате бота: строка игры, Организатор просит принять правила игры: и сами правила в раскрывающейся цитате. Последние кнопки — ✅ Принимаю и записываюсь и Не сейчас. Пока игрок не принял, ничего не сохраняется; а если правила за это время изменились, бот покажет новую версию, а не примет старую.
Отключение
/unbind в группе останавливает публикации:
Готово. Игры больше не будут публиковаться в этой группе.
Отключить может только админ группы или тот, кто подключил игры. Посты, которые уже есть, остаются на месте — бот просто перестаёт их обновлять.
Удаление бота из группы работает так же, и на прощание он тоже ничего не пишет.
Для игрока
Чтобы ответить, ничего устанавливать не надо. Нажми ✅ Буду, ❌ Не буду или ⏳ Позже под постом — и список в посте обновится.
Передумать — это то же движение: нажми другую кнопку. Пост изменится, и в группе ничего не объявляется.
Как записаться без приложения
Если твой Telegram не привязан к Amator, бот открывает личный чат и предлагает сделать профиль из твоего аккаунта Telegram — без пароля. Карточка показывает игру, приветствие и одну строку согласия:
Продолжая, ты соглашаешься с Регламентом и Политикой конфиденциальности и подтверждаешь, что тебе уже есть 16 лет.
Никаких галочек нет. Ответ — это три кнопки:
| кнопка | что произойдёт |
|---|---|
| ✅ Соглашаюсь — записаться | профиль создан, твой ответ зачтён. Бот запишет, на каком языке показали карточку и на какой именно текст ты согласился. |
| У меня уже есть аккаунт Amator | ничего не создаётся. Бот объясняет, как привязать Telegram в приложении — Профиль → Настройки → Подключённые аккаунты → Telegram — и держит твой ответ 24 часа, так что он зачтётся сразу после привязки. |
| Мне ещё нет 16 | ничего не создаётся. Amator доступен с 16 лет. Возвращайся, когда исполнится 16. |
Личный чат бота с карточкой записи: строка игры, приветствие, предложение согласия с двумя ссылками и три кнопки под ним
Шаг с номером телефона
Некоторым играм нужен подтверждённый номер телефона. Когда не хватает только его, бот доделывает дело в личном чате: спрашивает один раз и показывает кнопку Поделиться номером телефона.
Номер должен прийти с этой кнопки — Telegram отправляет его как контакт, и это должен быть твой собственный. Набранный руками бот не принимает. Как только номер подтверждён, твой ответ из группы зачитывается тем же шагом, а клавиатура исчезает.
Личный чат бота с просьбой о номере и кнопкой Telegram «Поделиться номером телефона» на клавиатуре ответа
Если делиться номером не хочется, не делай ничего: ничего не сохранится, и ты просто не будешь записан. В следующий раз, когда нажмёшь ✅ Буду, бот спросит ещё раз.
Все команды
Все шесть команд работают только в группе. Личного меню команд у бота нет, а команда, написанная в личку, не получает никакого ответа — личный чат нужен для карточки записи, правил и номера телефона, и всё это бот начинает сам.
| команда | кто может | что отвечает |
|---|---|---|
/games | любой в подключённой группе | ближайшие игры здесь, до десяти, каждая строка ведёт к своему посту. |
/next | любой в подключённой группе | перескакивает к посту ближайшей игры. Если у той игры здесь ещё нет поста, бот отправляет сам пост. |
/help | любой — единственная команда, которая отвечает и в группе, которую ещё не подключили | что умеет бот, со ссылками на приложения и сайт. |
/settings | админы группы | настройки публикаций в этой группе, по кнопке на каждого подключённого организатора. Без Mini App отвечает, где эти настройки в приложении. Тот, кто не админ, не получает ответа вообще. |
/bind | админы группы | подключает организатора или клуб к этой группе. |
/unbind | админы группы или тот, кто подключил игры | отключает их. |
Ответ бота на /games: короткий список ближайших игр этой группы, каждая строка ведёт к своему посту
Бот отвечает не чаще раза в тридцать секунд на группу и удаляет свой ответ через десять минут, так что /games в шумной группе не превращается во второй разговор.
Вопросы
Что бот видит в группе?
В группе бот смотрит на одно поле сообщения — его текст — и только чтобы проверить, начинается ли оно с одной из шести команд. Всё остальное пролетает мимо, и его никогда не читают заново, не сохраняют и никуда не отправляют. Содержимое сообщений не покидает Telegram.
В Amator уходит узкий набор: id группы, её тип и название, id и админский статус того, кто дал команду, а при нажатии кнопки — его Telegram-id вместе с игрой и выбором. Имена игроков в постах приходят из Amator уже отфильтрованные с оглядкой на приватность, а бот только готовит их для Telegram.
А если бота удалят из группы?
Посты, которые уже есть в группе, остаются, и бот перестаёт их обновлять. Ничего не удаляется и ничего не объявляется. Если добавить бота назад и отправить /bind, всё начнётся снова.
На каких языках он отвечает?
На восьми: русском, английском, польском, украинском, чешском, немецком, испанском и французском. Ответ идёт в таком порядке: язык сессии записи, потом язык профиля Amator, потом язык Telegram, если он один из восьми, и в конце язык группы — а если не подошло ничего, английский.
Пост в группе всегда на языке, выбранном для этого подключения, а не на языке каждого читающего. Меню команд ставится для каждого языка отдельно, так что каждый видит его на своём.