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, якщо вона одна з восьми, а наприкінці мова групи — і англійська, якщо не підійшло нічого.
Пост у групі завжди тією мовою, яку вибрали для цього підключення, а не мовою кожного, хто читає. Меню команд встановлюється для кожної мови окремо, тож кожен бачить його своєю.