Перейти до змісту

Тред гри

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

На картці посилання стоїть під гравцями окремим блоком із підписом «посилання додано:». Коли гру завершують чи переривають, посилання з картки зникає.

Оновлення картки

Команда /гра оновити оновлює картку гри за останніми даними.

У треді гри номер вказувати не треба: бот визначає його сам. Поза тредом додайте параметр гра з номером гри:

/гра оновити гра:248

Після оновлення бот приватно відповідає «Оновлено». В особистих повідомленнях боту команда не працює.

Перемальовування після змін на сайті

Це діє на сервері, з яким працює сайт 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.» Виконайте /гра оновити у треді гри, і картка покаже її стан. Подробиці — Завершення гри.

Пов'язане