Тред гри¶
Тред гри — публічна гілка в каналі історії ігор, яку бот створює для гри під час старту. У треді лежить картка гри: на ній видно гравців, їхні нації, Steam-посилання на лобі, якщо його додали, а після завершення гри — результат.
Роль треду гри¶
Після старту гра триває в треді. Там бот виконує шість завдань:
- Збирає гравців. Першим повідомленням бот згадує гравців гри, які є на сервері, і так вони потрапляють у тред. На сервері, з яким працює сайт CivBot, після згадок у цьому повідомленні є ще підказка «💡 Киньте сюди файл сейву (.Civ5Save) після гри, щоб графіки гри лишилися на сайті.»
- Показує картку гри. На картці видно стан гри, порядкові номери гравців, їхні нації й бани.
- Дає обрати нації. Нації обирають у меню під карткою гри або в повідомленнях «Призначення націй». Подробиці — Вибір націй і обмін слотами.
- Публікує посилання на лобі. Якщо Steam-посилання на лобі Civilization V додали, воно стоїть на картці, поки гра триває.
- Приймає сейв. На сервері, з яким працює сайт CivBot, бот приймає в треді файли сейву Civilization V й відповідає карткою. Подробиці — Сейв у треді гри.
- Зберігає підсумок. Після завершення чи переривання гри тред лишається в каналі історії ігор, а картка показує, чим скінчилася гра.
Що входить¶
| Частина | Що означає |
|---|---|
| Назва | Номер гри, режим, кількість гравців і тип гри |
| Перше повідомлення | Згадка гравців гри, які є на сервері; на сервері сайту ще й підказка про сейв |
| Блок команд | Підказка з командами «Завершити гру» й «Оновити гру» над карткою |
| Картка гри | Заголовок зі станом, гравці з націями, зірками рангу й банами, додане Steam-посилання |
| Меню й кнопка під карткою | «Вибрати хто за яку націю грає», «Запити на обмін між гравцями», «Скасувати гру»; на сервері сайту ще й посилання «На сайті» |
| «Призначення націй» | Повідомлення з кнопками націй, лише після старту без драфту |
Назва треду¶
Назва треду складається з номера гри, режиму, кількості гравців і типу гри. Наприклад, «248 — FFA 6 Patch» — це гра №248 у режимі FFA на шістьох гравців, тип Patch. У Duel кількості гравців у назві немає. Нумерація ігор окрема на кожному сервері.
Картка гри¶
Над карткою стоїть блок із двома командами: «Завершити гру» — /гра завершити (/game finish), «Оновити гру» — /гра оновити (/game refresh). Команду в блоці можна натиснути, і Discord підставить її в поле повідомлення.
Заголовок картки повторює назву треду, а після значка 🚦 стоїть стан гри «В процесі». Поки гра триває, смуга картки зелена. Картку гри бот пише мовою сервера. Подробиці — Мова бота. На сервері, з яким працює сайт CivBot, заголовок картки веде на сторінку гри на сайті, а не на тред. Подробиці — Сторінка гри.
Для кожного гравця картка показує шість речей:
- порядковий номер «1.», «2.» і далі, який бот випадково роздає гравцям під час старту;
- емодзі нації, яку гравець обрав або яку сайт прочитав із прикріпленого сейву; нація із сейву має перевагу над вибором, а поки нації немає, емодзі теж немає;
- зірки рангу гравця;
- згадку гравця;
- три нації на вибір, якщо гру стартували з драфтом;
- бани гравця під спойлером: щоб їх побачити, натисніть на прихований рядок.
Подробиці про зірки — Ранги й зірки.
Меню й кнопка під карткою¶
Поки гра триває, під карткою є до трьох елементів:
- «Вибрати хто за яку націю грає» — меню вибору націй; є лише після старту з драфтом.
- «Запити на обмін між гравцями» — меню обміну слотами; є лише у FFA.
- «Скасувати гру» — кнопка, яка відкриває вікно підтвердження; щойно вікно надіслано, гра отримує стан «Перервана».
На сервері, з яким працює сайт CivBot, під карткою гри, що триває, є ще четвертий елемент: кнопка-посилання «На сайті», яка веде на сторінку гри на сайті.
Після старту без драфту меню вибору націй немає. Замість нього бот публікує в треді повідомлення «Призначення націй» з кнопками незабанених націй. Подробиці — Вибір націй і обмін слотами і Переривання гри.
Steam-посилання¶
Steam-посилання веде в лобі Civilization V у Steam. Воно починається з steam://joinlobby/, а за ним ідуть три числа через скісну риску. Додати посилання можна трьома способами:
- У зборі — кнопкою «Steam посилання» під карткою збору. Після старту посилання переходить на картку гри. Подробиці — Створення гри й збір гравців.
- У треді гри — окремим повідомленням, у якому лише посилання, поки гра в стані «В процесі». Бот видаляє це повідомлення й показує посилання на картці гри.
- На сайті — на сервері, з яким працює сайт CivBot, гравець гри на сторінці гри натискає «Приєднатись до гри». Сайт дивиться, у якому лобі Steam зараз бачить гравців гри, і якщо воно інше за збережене, записує його як Steam-посилання гри; бот перемальовує картку. Це працює лише для гравців гри, поки гра триває й від її старту минуло не більше 48 годин. Подробиці — Сторінка гри.
На картці посилання стоїть під гравцями окремим блоком із підписом «посилання додано:». Коли гру завершують чи переривають, посилання з картки зникає.
Оновлення картки¶
Команда /гра оновити оновлює картку гри за останніми даними.
У треді гри номер вказувати не треба: бот визначає його сам. Поза тредом додайте параметр гра з номером гри:
Після оновлення бот приватно відповідає «Оновлено». В особистих повідомленнях боту команда не працює.
Перемальовування після змін на сайті¶
Це діє на сервері, з яким працює сайт CivBot. Коли гру змінюють на сайті — обирають націю, прикріплюють сейв, зіставляють гравців, змінюють Steam-посилання чи завершують гру, — бот сам перемальовує картку гри в треді. Після завершення гри на сайті він оновлює й список останніх ігор на панелі. Тож /гра оновити для цього не потрібна.
Файли сейву в треді¶
Це діє на сервері, з яким працює сайт CivBot. Гравець гри кидає в тред файл .Civ5Save, бот ставить на повідомлення ⏳, передає файл сайту, відповідає карткою («Сейв прийнято», «Сейв уже прийнято», «Сейв не підходить до цієї гри» та іншими) і ставить ✅ або ❌. Після прийнятого сейву бот перемальовує картку гри. Якщо гру завершено, а сейва до неї не прикріплено, бот один раз пише в тред «Збережіть історію цієї гри» з кнопкою «На сайті». Подробиці — Сейв у треді гри.
З чим пов'язане¶
- Старт гри — бот створює тред і публікує в ньому картку гри під час старту; подробиці — Старт гри.
- Вибір націй — нації обирають у меню під карткою чи в повідомленнях «Призначення націй»; подробиці — Вибір націй і обмін слотами.
- Завершення гри — результат записують командою
/гра завершитиабо гравець гри на сторінці гри на сайті, і картка показує підсумок; подробиці — Завершення гри і Завершення гри на сайті. - Сейв — файл сейву можна кинути в тред; подробиці — Сейв у треді гри.
- Сайт — картка гри веде на сторінку гри на сайті; подробиці — Сторінка гри.
- Переривання гри — кнопка «Скасувати гру» під карткою відкриває вікно підтвердження, після якого гра отримує стан «Перервана»; подробиці — Переривання гри.
- Ранги — зірки біля гравця на картці показують його ранг; подробиці — Ранги й зірки.
- Канал історії ігор — у ньому бот створює треди, а задає його адміністратор сервера; подробиці — Підключення CivBot до сервера.
Стани гри в треді¶
У треді гра буває в одному з трьох станів. Стан написано в заголовку картки гри після значка 🚦, а підказує його ще й колір смуги.
| Стан | Що видно на картці | Хто ставить |
|---|---|---|
| «В процесі» | Зелена смуга, блок команд, гравці з націями на вибір і банами, додане Steam-посилання, меню й кнопка під карткою, на сервері сайту ще й посилання «На сайті» | Учасник гри або модератор кнопкою «Старт з драфтом націй» чи «Старт без драфту націй» |
| «Завершена» | Золота смуга, тип перемоги біля 🥇, кількість ходів біля 🏇, 🏆 біля переможця, у FFA — зміна рейтингу кожного гравця; на сервері сайту кнопка «Результати на сайті» | Учасник гри або модератор командою /гра завершити; гравець гри кнопкою «Завершити гру» на сторінці гри на сайті |
| «Перервана» | Червона смуга, гравці та їхні нації без переможця й результату; на сервері сайту кнопка «На сайті» | Учасник гри або модератор кнопкою «Скасувати гру» з підтвердженням |
У FFA зміна рейтингу стоїть у рядку гравця після емодзі нації, наприклад «+12» чи «-8», а за нею — значок росту чи падіння. Після завершення чи переривання бот прибирає з картки блок команд, меню, кнопку «Скасувати гру» і Steam-посилання. Повідомлення «Призначення націй» він видаляє. На сервері, з яким працює сайт CivBot, на завершеній картці лишається посилання «Результати на сайті», а на перерваній — «На сайті». Модератор, який не грає в цій грі, завершує її лише в Discord: на сайті він тільки дивиться. Сам тред лишається в каналі історії ігор.
stateDiagram-v2
state "В процесі" as ongoing
state "Завершена" as finished
state "Перервана" as cancelled
[*] --> ongoing: учасник або модератор натискає «Старт…»
ongoing --> finished: учасник або модератор виконує /гра завершити
ongoing --> finished: гравець гри завершує гру на сайті
ongoing --> cancelled: учасник або модератор натискає «Скасувати гру» і підтверджує
finished --> [*]
cancelled --> [*]
Діаграма не показує архівації треду. Тред архівується незалежно від стану гри, і стан від цього не змінюється.
Правила¶
Тред гри бачить кожен, хто бачить канал історії ігор¶
Тред публічний: відкрити й прочитати його може кожен, хто бачить канал історії ігор. Гравців гри, які є на сервері, бот додає в тред згадкою в першому повідомленні.
Керують грою в треді лише учасники гри й модератори¶
Меню «Вибрати хто за яку націю грає», кнопкою «Скасувати гру» і кнопками націй у повідомленнях «Призначення націй» користуються лише учасники гри та модератори. Іншим бот відповідає «У вас немає доступу до цієї дії.» Просити про обмін слотами в меню «Запити на обмін між гравцями» можуть лише учасники гри. Подробиці — Гравці, модератори й адміністратори.
Тред архівується після 24 годин без нових повідомлень¶
Discord ховає такий тред зі списку каналів. Гра від цього не змінюється: стан, нації й Steam-посилання лишаються на картці. Поки гра триває, бот сам виводить тред з архіву щоразу, коли перемальовує картку: після вибору нації в Discord чи на сайті, обміну слотами, /гра оновити, прикріплення сейву та інших змін на сайті. Для завершеної чи перерваної гри бот розархівовує тред лише на час редагування картки й архівує його знову. Якщо тред лишається прихованим, напишіть у ньому будь-яке повідомлення.
Steam-посилання в треді приймається лише окремим повідомленням¶
Повідомлення має складатися з одного посилання steam://joinlobby/…, без іншого тексту. Повідомлення, у якому крім посилання є ще якийсь текст, бот лишає в треді, і картка не змінюється.
На картці лише одне Steam-посилання¶
Нове посилання, надіслане в треді, додане в зборі чи знайдене через «Приєднатись до гри» на сайті, замінює попереднє. На картці видно останнє з них.
Оновити картку може будь-хто на сервері¶
Команда /гра оновити оновлює картку за останніми даними. Виконати її може й той, хто не грає в цій грі.
Що може піти не так¶
- Тред гри зник зі списку каналів. Тред архівувався, бо 24 години в ньому ніхто не писав. Знайдіть його серед архівних тредів каналу історії ігор і напишіть у ньому повідомлення. Якщо гра триває, тред повернеться й сам після будь-якого оновлення картки, наприклад після
/гра оновити. - Повідомлення з посиланням лишилося в треді, а на картці посилання немає. У повідомленні є інший текст, або посилання має інший вигляд. Надішліть окремим повідомленням лише посилання, від
steam://joinlobby/до останнього числа. - Бот просить указати номер гри. На
/гра оновитипоза тредом гри без номера бот відповідає «Вкажіть game_id або викличте команду з треду гри». Додайте параметрграз номером гри або виконайте команду в треді гри. - Бот пише, що гру не знайдено. На
/гра оновитиз параметромгработ відповідає «Гру #248 не знайдено…»: гри з таким номером на цьому сервері немає. Звірте номер із назвою треду гри, бо нумерація окрема на кожному сервері. - Бот пише, що у вас немає доступу. Бот відповідає «У вас немає доступу до цієї дії.», коли меню чи кнопку в треді гри натискає той, хто не грає в цій грі й не є модератором. Попросіть когось із гравців цієї гри.
- Бот пише англійською, що гру вже завершено. Таку відповідь на
/гра завершитибот дає, коли гру вже завершили: «Game was already finished by another player or not found. Please refresh to see results.» Виконайте/гра оновитиу треді гри, і картка покаже її стан. Подробиці — Завершення гри.
Пов'язане¶
- Гра
- Старт гри
- Вибір націй і обмін слотами
- Сейв у треді гри
- Сторінка гри
- Завершення гри на сайті
- Завершення гри
- Переривання гри
- Створення гри й збір гравців
- Ранги й зірки
- Гравці, модератори й адміністратори
- Команди бота
- Мова бота