amator.app
Публичный API + n8n

Telegram-бот

Твои игры в той же группе, где вы и так всё обсуждаете. Бот публикует каждую игру, держит список играющих в актуальном виде и даёт ответить одним касанием.

Групповой бот ещё не работает на продакшене. Пока он живёт на девстеке, так что имя бота и ссылки с этой страницы начнут работать только тогда, когда появится продакшен-бот.

Зачем это

Игры организатора из Amator попадают в группу в Telegram, а игроки отвечают в группе. Никто не переписывает список, никто не считает ответы — сам пост и есть ответ на вопрос «кто в субботу».

Бот делает три вещи:

  • публикует каждую новую игру организаторов, подключённых к группе;
  • держит каждый пост в актуальном виде — кто играет, кто в резерве, сколько мест свободно;
  • принимает ответы с трёх кнопок под постом и сразу записывает их в игру.

Всё происходит в группе и в личном чате бота. Больше бот не пишет никуда.

Для организатора

Добавь бота в группу

Добавь the Amator bot в группу в Telegram так же, как любого другого. Заходя, бот ничего не напишет — так и задумано, чтобы не влезть посреди разговора.

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

Отправь /bind

Отправь /bind в группе. Подключить группу может только админ — бот спрашивает у Telegram твой статус в этот момент, а не верит самому сообщению.

Если твой Telegram привязан к одному аккаунту Amator и ты организуешь сам, ответ будет такой:

✅ Готово! Твои игры из Amator будут публиковаться в этой группе.

Screenshot

Группа в Telegram, где бот отвечает на /bind одной строкой: «✅ Готово! Твои игры из Amator будут публиковаться в этой группе.»

Что видит группа после `/bind` — одно короткое подтверждение, и больше ничего.

Если ты ещё и капитан клуба, бот сначала спросит — Чьи игры публиковать в этой группе? — с кнопкой на каждый вариант: Мои игры и Клуб {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
Screenshot

Пост игры в группе Telegram: название и формат, дата со сбором и временем игры, площадка, цена, уровень, организатор, а ниже — нумерованный состав, резерв и строка состояния

Тот же пост в настоящей группе, с кнопками ответа под ним.
строкачто это
названиеназвание игры и её формат. Зачёркнуто, когда игру отменили.
🗓день, время сбора и начало и конец самой игры.
📍площадка, район и город. Пропускается, пока место не публичное.
💰цена с человека. Пропускается, когда игра бесплатная.
📶уровень, а если игра берёт несколько — диапазон.
👤имя организатора.
Играют (принято/максимум)кто в составе, по порядку. · минимум N добавляется только тогда, когда у игры есть минимум — и исчезает, когда минимум равен максимуму, потому что тогда он ничего не говорит. Игрок с пометкой (запас) занимает гостевое место.
Резерв (N)очередь, когда организатор принимает игроков автоматически. Курсив под ней говорит, что первый из очереди заходит на освободившееся место. При ручном приёме вместо этого стоит Заявки (N).
Думают / Не будудва списка ответов. Имена всегда сложены в раскрывающуюся цитату, даже одно, чтобы пост оставался коротким. У второго списка в заголовке слова самой кнопки ❌.
строка состояния⚠️ Ещё N до минимума ниже минимума, ✅ Игра состоится от минимума и выше или Набор игроков, когда минимума нет — а за ним свободно N. Полная, закрытая, отменённая или прошедшая игра заменяет всю строку своей: Мест нет · есть резерв, 🔒 Запись закрыта., ❌ Игра отменена, Игра состоялась · игроков: N.
строка записиЧтобы записаться — открой бота и нажми Start, где середина — ссылка. Только пока игра принимает ответы и профиль из Telegram создавать можно — см. как записаться без приложения.

Длинные списки складываются: больше восьми имён уходят в раскрывающуюся цитату, а после сорока хвост превращается в … и ещё N. Если пост всё равно слишком длинный для Telegram, бот сокращает списки — сначала резерв, «думают» и «не буду», состав — последним.

Кнопки

кнопкачто делает
✅ Будуотвечает «да». Есть, пока игра открыта или полна.
❌ Не будуотвечает «нет».
⏳ Позжезаписывает тебя в «думают», чтобы организатор знал, что игру ты видел.
📋 Открытьоткрывает игру — в Mini App, когда она подключена, иначе страницу игры. Есть всегда.
📅 Все игрыближайшие игры этой группы. Только при подключённой Mini App.
Screenshot

Три кнопки ответа под постом — «✅ Буду», «❌ Не буду», «⏳ Позже» — а под ними «📋 Открыть»

Кнопки под постом. Нажатие меняет пост и никогда не добавляет сообщение в группу.

Нажатие кнопки не пишет в группе никакого сообщения. Меняется сам пост, так что одна игра остаётся одним сообщением, даже если ответили двенадцать человек.

Как пост обновляется

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

Несколько вещей приходят ответом под постом, а не изменением в нём: другое время, другое место, напоминание за день и — не чаще раза в сутки — алерт нужно ещё игроков с одной кнопкой ✅ Буду.

Telegram ограничивает, как быстро бот может писать в один чат, поэтому бот держится одной операции в три секунды на группу. В пике изменения становятся в очередь, а не падают.

Правила игры

Если организатор приложил к игре правила, игрок после ✅ Буду получает их в личном чате бота: строка игры, Организатор просит принять правила игры: и сами правила в раскрывающейся цитате. Последние кнопки — ✅ Принимаю и записываюсь и Не сейчас. Пока игрок не принял, ничего не сохраняется; а если правила за это время изменились, бот покажет новую версию, а не примет старую.

Отключение

/unbind в группе останавливает публикации:

Готово. Игры больше не будут публиковаться в этой группе.

Отключить может только админ группы или тот, кто подключил игры. Посты, которые уже есть, остаются на месте — бот просто перестаёт их обновлять.

Удаление бота из группы работает так же, и на прощание он тоже ничего не пишет.

Для игрока

Чтобы ответить, ничего устанавливать не надо. Нажми ✅ Буду, ❌ Не буду или ⏳ Позже под постом — и список в посте обновится.

Передумать — это то же движение: нажми другую кнопку. Пост изменится, и в группе ничего не объявляется.

Как записаться без приложения

Если твой Telegram не привязан к Amator, бот открывает личный чат и предлагает сделать профиль из твоего аккаунта Telegram — без пароля. Карточка показывает игру, приветствие и одну строку согласия:

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

Никаких галочек нет. Ответ — это три кнопки:

кнопкачто произойдёт
✅ Соглашаюсь — записатьсяпрофиль создан, твой ответ зачтён. Бот запишет, на каком языке показали карточку и на какой именно текст ты согласился.
У меня уже есть аккаунт Amatorничего не создаётся. Бот объясняет, как привязать Telegram в приложении — Профиль → Настройки → Подключённые аккаунты → Telegram — и держит твой ответ 24 часа, так что он зачтётся сразу после привязки.
Мне ещё нет 16ничего не создаётся. Amator доступен с 16 лет. Возвращайся, когда исполнится 16.
Screenshot

Личный чат бота с карточкой записи: строка игры, приветствие, предложение согласия с двумя ссылками и три кнопки под ним

Карточка в личном чате бота — для игрока, чей Telegram ещё не привязан к Amator.

Шаг с номером телефона

Некоторым играм нужен подтверждённый номер телефона. Когда не хватает только его, бот доделывает дело в личном чате: спрашивает один раз и показывает кнопку Поделиться номером телефона.

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

Screenshot

Личный чат бота с просьбой о номере и кнопкой Telegram «Поделиться номером телефона» на клавиатуре ответа

Шаг с телефоном: один вопрос, одна кнопка, а номер отправляет сам Telegram.

Если делиться номером не хочется, не делай ничего: ничего не сохранится, и ты просто не будешь записан. В следующий раз, когда нажмёшь ✅ Буду, бот спросит ещё раз.

Все команды

Все шесть команд работают только в группе. Личного меню команд у бота нет, а команда, написанная в личку, не получает никакого ответа — личный чат нужен для карточки записи, правил и номера телефона, и всё это бот начинает сам.

командакто можетчто отвечает
/gamesлюбой в подключённой группеближайшие игры здесь, до десяти, каждая строка ведёт к своему посту.
/nextлюбой в подключённой группеперескакивает к посту ближайшей игры. Если у той игры здесь ещё нет поста, бот отправляет сам пост.
/helpлюбой — единственная команда, которая отвечает и в группе, которую ещё не подключиличто умеет бот, со ссылками на приложения и сайт.
/settingsадмины группынастройки публикаций в этой группе, по кнопке на каждого подключённого организатора. Без Mini App отвечает, где эти настройки в приложении. Тот, кто не админ, не получает ответа вообще.
/bindадмины группыподключает организатора или клуб к этой группе.
/unbindадмины группы или тот, кто подключил игрыотключает их.
Screenshot

Ответ бота на /games: короткий список ближайших игр этой группы, каждая строка ведёт к своему посту

`/games` в подключённой группе.

Бот отвечает не чаще раза в тридцать секунд на группу и удаляет свой ответ через десять минут, так что /games в шумной группе не превращается во второй разговор.

Вопросы

Что бот видит в группе?

В группе бот смотрит на одно поле сообщения — его текст — и только чтобы проверить, начинается ли оно с одной из шести команд. Всё остальное пролетает мимо, и его никогда не читают заново, не сохраняют и никуда не отправляют. Содержимое сообщений не покидает Telegram.

В Amator уходит узкий набор: id группы, её тип и название, id и админский статус того, кто дал команду, а при нажатии кнопки — его Telegram-id вместе с игрой и выбором. Имена игроков в постах приходят из Amator уже отфильтрованные с оглядкой на приватность, а бот только готовит их для Telegram.

А если бота удалят из группы?

Посты, которые уже есть в группе, остаются, и бот перестаёт их обновлять. Ничего не удаляется и ничего не объявляется. Если добавить бота назад и отправить /bind, всё начнётся снова.

На каких языках он отвечает?

На восьми: русском, английском, польском, украинском, чешском, немецком, испанском и французском. Ответ идёт в таком порядке: язык сессии записи, потом язык профиля Amator, потом язык Telegram, если он один из восьми, и в конце язык группы — а если не подошло ничего, английский.

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