Skip to main content
Оновлення
ОновленняReleaseSecurity

AlphaCloud v1.10.1: Utility, Пов'язані ролі на час і приватні гілки для тікетів

Через день після v1.10.0 ще п'ять пропозицій із дошки ідей: новий модуль Utility, Пов'язані ролі на час і з кількома тригерами, тікети в приватних гілках і AFK-логи просто в голосовому каналі.

Опубліковано автор AlphaCloud5 хв читання

v1.10.1 вийшла через день після v1.10.0 і офіційно є хотфіксом. Проте в ній цілий новий модуль. На дошці ідей уже чекали наступні пропозиції, і п'ять із них ми одразу реалізували.

Utility: керувати ролями й каналами, не будучи адміністратором

Пропозиція називалася просто "Add a utilities module", і в ній було одне чітке побажання: права мають налаштовуватися детально. Новий модуль дає твоїй команді два інструменти. З /utility role учасники створюють, видають, забирають, редагують і видаляють ролі, з /utility channel вони створюють, видаляють, перейменовують, блокують і сповільнюють канали. Виконує все це бот.

Саме тут і криється ризик. Бот зазвичай має більше прав, ніж люди, які ним користуються, а модуль, що передає ці права далі, безпечний рівно настільки, наскільки добрі його правила. Тому кожна з десяти дій спочатку вимкнена, і для кожної ти окремо визначаєш у панелі:

  • хто може нею користуватися: через відповідний дозвіл Discord, через ролі або і те, і те, а також ролі, яким це заборонено завжди
  • яких ролей і каналів вона ніколи не має торкатися
  • скільки разів на годину учасник може нею скористатися

Крім того, діють правила, які не можна вимкнути. Бот торкається ролі, лише якщо вона нижча за найвищу роль учасника. Хто видає роль, сам має мати всі дозволи цієї ролі, бо навіть нижча роль може мати право банити. Нові ролі отримують дозволи лише з фіксованого списку, у якому ніколи немає дозволів Адміністратор, Керувати сервером, Керувати ролями, Керувати каналами, Керувати вебхуками, Банити учасників і Виганяти учасників, і навіть із нього лише ті, що є в самого учасника. Усі перевірки виконуються під час кожного використання за поточним станом сервера і ще раз під час натискання на підтвердження.

Видалення завжди потребує підтвердження. А оскільки в журналі аудиту Discord виконавцем потім значиться бот, Utility заздалегідь повідомляє про кожне видалення наш Anti-Nuke. Anti-Nuke записує видалення на рахунок учасника, який скористався командою. Без цього кроку хтось міг би спустошити сервер через бота, а Anti-Nuke бачив би лише бота, якого він свідомо не підозрює.

Без Premium учасник може використати дію до 10 разів на годину. З Premium ліміт до 100, крім того, ти сам вирішуєш, які дозволи може отримати нова або змінена роль, і можеш обмежити дії з ролями фіксованим списком, а дії з каналами певними категоріями. Якщо Premium закінчиться, ці налаштування діятимуть і далі. Майже завжди вони щось обмежують, а прострочена підписка ніколи не має дозволяти більше, ніж раніше. Усе інше є в документації щодо Utility (німецькою).

Пов'язані ролі: на час і з кількома тригерами

Пов'язані ролі з'явилися лише у v1.10.0, і до них одразу надійшли дві пропозиції.

Ролі на час. Правило тепер може видавати свої ролі на обмежений час, від однієї години до 90 днів. Коли час спливає, бот знову забирає їх, навіть якщо тим часом перезапускався: дата закінчення зберігається ще до видачі ролі, бо роль без збереженої дати закінчення ніколи б не зникла. Після цього бот не видає їх повторно лише тому, що учасник досі має роль-тригер, інакше "на час" нічого б не означало. Крім того, ролі з'являються в розділі Тимчасові ролі (німецькою), де їх можна завершити достроково.

Кілька тригерів на правило. Замість 20 правил для 20 ролей тепер вистачить одного: хто має будь-яку з цих ролей, отримує роль X. Без Premium можна вказати 3 ролі-тригери на правило, з Premium 25. Якщо ввімкнено "Знову забирати", бот забирає ролі лише тоді, коли в учасника не лишилося жодної з ролей-тригерів. Більше в документації щодо Пов'язаних ролей (німецькою).

Тікети в приватних гілках, цього разу зрозуміли правильно

У статті про v1.10.0 ми визнали, що спершу неправильно зрозуміли ідею "Ticket thread" і зробили приватні гілки, доки не стало зрозуміло, що йшлося про форум. Історія на цьому не скінчилася: потім надійшло уточнення, що йшлося таки саме про приватну гілку. Тож тепер є і те, і те.

Кожна категорія тікетів може відкривати тікети як окремий канал, як допис на форумі або як приватну гілку, чи то в каналі з панеллю тікетів, чи в каналі на твій вибір. На відміну від форуму, приватну гілку бачать лише ті, хто в ній є: автор, команда і всі, кому в цьому каналі дозволено керувати гілками. Тому гілки підходять і для заявок чи питань щодо оплати, не захаращуючи список каналів.

Є одна особливість Discord, про яку варто знати: до гілки не може приєднатися роль, лише окремі учасники. Тому бот додає учасників твоїх командних ролей по одному. Найнадійніше, коли твої командні ролі мають у каналі тікетів дозвіл "Керувати гілками": тоді вони бачать кожен тікет без обхідних шляхів. Див. Тікети (німецькою).

AFK-логи просто в голосовому каналі

Досі логи AFK Room надходили в окремий канал логів. Тепер їх можна надсилати просто в текстовий чат голосового AFK-каналу, туди, де переміщені учасники й так перебувають. Згадка учасника там ніколи не пінгує. Принагідно логи отримали новий дизайн повідомлень. Див. AFK Room (німецькою).

Виправлено

  • Тікети на форумі з v1.10.0 не можна було знову відкрити чи видалити кнопками під повідомленням про закриття, бот стверджував, що ти не в каналі тікета
  • ШІ-чат із власним ендпоінтом: до базового URL, який уже закінчується версією, наприклад https://api.groq.com/openai/v1 або https://openrouter.ai/api/v1, додавався другий /v1, і кожне повідомлення йшло в нікуди. А саме такий вигляд адреси вказано в документації більшості провайдерів. Хибний URL чи назва моделі тепер показує в каналі коротку підказку замість звіту про помилку
  • Моделі міркувань, як-от openai/gpt-oss-20b від Groq, через власний ендпоінт повертали порожні відповіді. Тепер вони мають достатньо місця для самої відповіді
  • /moderation roleall на великих серверах через 15 хвилин кожні кілька секунд публікував нове повідомлення про прогрес, бо Discord дозволяє боту редагувати відповідь на команду лише 15 хвилин. Тепер прогрес оновлюється в одному-єдиному повідомленні
  • Тікети: лог-повідомлення про автоматично видалений тікет показує строк зберігання з панелі, а не завжди 7 днів
  • Тимчасові ролі: неповна дата закінчення в панелі показує зрозумілу підказку, а не ламає сторінку
  • Вибір мови в панелі, звітах про помилки, ідеях, апеляціях і транскриптах: нова мова тепер зберігається з першої спроби, а не повертається іноді назад після перезавантаження

Змінено і видалено

  • Токени входу через Discord, що стоять за твоїм акаунтом у панелі, тепер зберігаються в нашій базі даних у зашифрованому вигляді. Для тебе нічого не змінюється, входити знову не потрібно
  • /check: Gamma більше не доступна як провайдер, бо її сервіс відключено

Utility ти знайдеш у панелі в розділі Модерація, а повний список змін у журналі змін на нашому Discord-сервері. Усі п'ять нових функцій цього оновлення прийшли з дошки ідей. Якщо тобі чогось бракує: ideas.alphacloud.bot.

Інші статті