Документація
Octera працює зі слеш-командами (/command) і текстовими командами з префіксом твого сервера (типово .). Майже все також налаштовується у вебпанелі керування.
.help <command> (напр. .help ban, .help eco), щоб побачити, що робить команда, і реальні приклади — або .help <category> для цілого розділу. <command> help теж досі працює.Сервери з Premium: сторінка Premium у панелі керування (бічна панель → Налаштування) показує підписку сервера з першого погляду — тариф, дату продовження й того, хто платить — і поруч кнопки для оновлення та керування.
Префікс & довідка
.help timeout/prefix set: ?/disable economy music warnМодерація
/timeout @user 10m spammingall очищає канал (і блокує його на час очищення, якщо він великий), число видаляє стільки останніх повідомлень, а проміжок часу (напр. 7d, 2mo) видаляє це вікно. Вкажи користувача, щоб видалити лише його повідомлення. Зверни увагу: Discord не дозволяє ботам масово видаляти повідомлення, старші за 14 днів..purge 50 · .purge 2mo · .purge allБезпека
/security let-in @friend/lockdown end знімає блокування й усе відновлює./lockdown allВідстеження «нагріву», фільтри рейдів & перевірки на вході, верифікація та капча налаштовуються в панелі керування.
Рівні
Економіка
.games досі працює як скорочення.).buy lucky coin 3Ролі & учасники
/role add roles:@VIP @Booster user:@someone duration:7dАвтоматизація
Automations (панель → Утиліти → Automations) — це правила у форматі «коли стається це — зроби те»: обери тригер (опубліковано повідомлення, додано реакцію, приєднався учасник, додано або знято роль), додай необов’язкові умови (канал, роль, ключові слова, вік акаунта), а потім виконай до 10 дій по черзі — надіслати повідомлення, ембед чи особисте повідомлення, додати або зняти роль, поставити реакцію, видалити повідомлення або створити гілку. Почни з готових шаблонів на кшталт Welcomer, Keyword auto-reply та Auto-thread — до 50 на сервер, безкоштовно.
Auto Send (панель → Утиліти → Auto Send) публікує повторюване повідомлення із заданим інтервалом або щодня о визначеній годині UTC — обери дні тижня, коли воно виходить, додай необов’язкове вікно надсилання, увімкни захист від флуду (пропускає надсилання, поки останнє повідомлення бота ще найновіше) або надішли його як ембед.
Дні народження
MM-DD або YYYY-MM-DD. Додай рік, якщо хочеш, щоб святкували й вік./birthday set 10-12 · /birthday set 1993-12-16Увімкни привітання в панелі керування (Інструменти → Дні народження): вибери канал, зміни повідомлення й за бажання видай на цей день іменинну роль.
Досягнення
Налаштуй їх у панелі керування (Досягнення): увімкни функцію, щоб отримати готовий стартовий набір, а тоді додай власні — одиничні або багаторівневі цілі від Бронзи до Діаманта за повідомленнями, реакціями, часом у голосових каналах, гілками, бустами, участю в розіграшах, покупками в крамниці та днями народження, кожна з необов’язковими нагородами-ролями й оголошеннями про відкриття.
Запрошення
/invites user member: @friendНалаштуй це в панелі керування (Запрошення): ігноруй зовсім нові акаунти як фейкові та автоматично видавай ролі-нагороди на етапних кількостях запрошень.
Розіграші
/giveaway create для покрокового майстра./giveaway start duration: 1d prize: Nitro winners: 2Редактор Розіграшів у панелі керування дає більше — плануй або повторюй розіграші, задавай вимоги до участі й бонусні квитки, роздавай ролі переможцям, налаштовуй ембед і зберігай пресети.
Тікети
Створюй панелі тікетів у панелі керування (модуль «Тікети»). Учасники відкривають тікет кнопкою на панелі; команда бере його в роботу та закриває. Після закриття транскрипт зберігається й публікується разом із посиланням View Online Transcript, щоб прочитати його в браузері.
Інструменти
/voice rename name: Gaming · /voice lockТимчасові голосові канали (панель → Утиліти → Voice) працюють за принципом «зайшов — створив»: обери один або кілька хабових голосових каналів, і кожен, хто до них приєднається, отримає власний канал поруч — його буде автоматично видалено, щойно він спорожніє.
Лише для оператора: /nuke channels, /nuke category і /restart — службові команди, жорстко закріплені в коді за оператором бота; персонал сервера їх запустити не може.
Сповіщення
Отримуй сповіщення, коли автор щось публікує. У панелі керування (Socials) додай стрічки для YouTube, Twitch, Kick, TikTok, Reddit (нові пости сабреддита), Podcast (нові випуски з RSS-стрічки шоу) або будь-яку URL-адресу Custom RSS — Octera опублікує нові відео, пости, випуски та старти трансляцій у вибраному тобою каналі разом із твоїм текстом.
Музика
Слухай музику в голосовому каналі з охайною чергою — без окремого бота. (Premium.)
Шукай пісню за назвою або встав посилання — SoundCloud, Bandcamp, подкаст, інтернет-радіо чи пряме посилання на аудіо. Octera читає більшість аудіосайтів і показує, звідки взявся трек.
YouTube недоступний. YouTube блокує запити на відтворення від хостинг-провайдерів, а саме там працює кожен Discord-бот, — тож посилання на YouTube відхиляються, а не програються. Пошук за назвою працює й далі та відтворює з наведених вище джерел. Посилання на Spotify та Apple Music не може відтворити жоден бот, бо їхнє аудіо зашифроване; надсилай натомість назву пісні.
.queue та .pause досі працюють.)Переклад
Учасники, які говорять різними мовами, можуть спілкуватися в одному каналі. Нікому не треба нічого міняти: той, хто хоче прочитати повідомлення, ставить на нього реакцію з прапором своєї мови, і Octera публікує переклад прямо під ним.
/translate text text: where is the meeting to: Spanish/translate live from: Chinese to: EnglishРеакції-прапорці. Постав під будь-яким повідомленням реакцію з прапором, який Octera розпізнає, — і бот відповість перекладом. Навіть якщо той самий прапор поставлять кілька людей, відповідь буде лише одна, а реакція будь-чим іншим не робить нічого.
Цілі канали. У панелі можна обрати канал і мови, якими в ньому спілкуються, — до п’яти. Octera сама визначає, у який бік перекладати кожне повідомлення, тож іспаномовний і англомовний учасники просто розмовляють. Повідомлення, вже написане однією з перелічених мов, ніколи не дублюється тією самою мовою. Це підходить каналу, який постійно поділений між мовами; для епізодичних випадків реакції-прапорці набагато дешевші.
Живий переклад. Для однієї людини, яка долучається до розмови мовою, якої не знає. Вона один раз запускає /translate live — і все, що вона пише, публікується ще й іншою мовою, доки вона не виконає /translate off або не замовкне. Власник сервера може вимкнути це в панелі.
Переклад працює через зовнішній сервіс перекладу, тож власник сервера налаштовує його один раз на сторінці Переклад у панелі керування. Поки сервіс не підключено, сторінка прямо про це каже й нічого не перекладається. Повторні переклади того самого повідомлення беруться з кешу й нічого не коштують, а для всього сервера можна задати місячний ліміт символів.
Резервні копії
Зроби знімок структури свого сервера — ролей, каналів, прав і налаштувань — із панелі керування. Відновлення заново створює все, чого бракує, не видаляючи того, що вже є. Резервні копії ніколи не містять повідомлень чи історії листування.
Гайд: змінні в повідомленнях
Скрізь, де Octera пише повідомлення, можна вставити змінну — короткий заповнювач {name}, який підставляє значення в момент надсилання. Вони працюють у привітаннях і прощаннях, ембедах, автовідповідачах, тегах, авторозсилці, панелях ролей за реакції, панелях тікетів і не тільки — і всюди мають однакові назви.
Welcome {user.mention} to **{server}** — you're member #{server.members}!
Пиши їх через крапку або в дужках; це те саме: {user.name} = {user(name)}.
Учасник
| Змінна | Що підставляється |
|---|---|
| {user} | Їхнє ім’я |
| {user.mention} | Справжній @-пінг |
| {user.name} | Їхнє ім’я користувача |
| {user.nick} | Їхній нікнейм на цьому сервері (ім’я користувача, якщо нікнейму немає) |
| {user.id} | Їхній Discord ID |
| {avatar} | Їхнє фото профілю — встав це у слот зображення або мініатюри |
| {user.color} | Колір їхнього імені, напр. #a93bf0 |
| {user.top_role} | Назва їхньої найвищої ролі |
| {user.joinstamp} | Коли вони приєдналися, як число-мітка часу |
| {user.timestamp} | Коли було створено їхній акаунт, як число-мітка часу |
{target} працює так само для першої людини, згаданої через @ у команді (а якщо згадки немає — для того, хто виконав команду), — зручно в тегах: {target.mention}, {target.avatar}.
Сервер & канал
| Змінна | Що підставляється |
|---|---|
| {server} | Назва сервера |
| {server.members} | Кількість учасників |
| {server.ordinal} | Кількість учасників як порядкове місце — «42-ге» |
| {server.icon} | Іконка сервера — придатна для слота зображення або мініатюри |
| {server.id} | ID сервера |
| {server.description} | Опис сервера |
| {channel} | Назва каналу |
| {channel.mention} | Клікабельне посилання на #channel |
Зображення зі змінних
Слоти зображення, мініатюри, іконки автора та іконки футера приймають змінну замість посилання — тож привітальний ембед може показати власний аватар новачка:
{avatar} у слот thumbnail вітального ембеда — і кожен новачок побачить у кутку своє фото. {server.icon} працює так само.Кожен із цих слотів також приймає звичайне посилання https:// або Upload… прямо з твого комп’ютера — Octera зберігає зображення й використовує постійне посилання, тож воно працюватиме завжди.
Корисно знати
- Змінна, якої не існує, підставляється за найближчим збігом, а не викликає помилку — якщо щось виводиться дивно, звір написання з таблицями вище.
- Змінні підставляються в момент надсилання повідомлення, тож попередній перегляд у панелі керування показує сирий текст
{name}. - Теги та власні команди додають до цього логіку — див. створення команд-тегів.
Керування сервером: особливості Discord, про які варто знати
Дещо в Discord поводиться так, ніби воно зламане, хоча це не так — і майже кожен власник сервера рано чи пізно на цьому спотикається. Жодна з цих речей не спричинена Octera; усі виправлення — у власних налаштуваннях Discord.
Ім’я користувача показується не тим кольором
Discord фарбує ім’я за найвищою роллю, у якої є колір. Роль зі значенням Default (без кольору) має пропускатися, тож безбарвна роль, яку ти тримаєш угорі — зазвичай щоб окремо виділятися в списку учасників, — залишає колір ролі нижче.
Іноді не переходить. Discord утримує старі дані про колір ролі навіть після того, як роль читається як безбарвна, тож ім’я так і лишається не того кольору.
Змусь Discord перечитати роль:
- Відкрий Server Settings → Roles, вибери потрібну роль і перейди до Display.
- Постав Solid, вибери будь-який видимий колір і збережи.
- Знову відкрий ту саму роль, поверни їй значення Default (без кольору) і збережи ще раз.
- Натисни Ctrl + R, щоб перезавантажити Discord.
Роль тепер зараховується як справді безбарвна: вона лишається вгорі й далі показує учасників окремо, а колір імені перебирає перша роль нижче, яка має колір.
Поруч із твоїм ім’ям зникла корона власника
Корона зникає, коли в однієї з твоїх ролей увімкнено обидва ці пункти одночасно:
- дозвіл Адміністратор, і
- Показувати учасників ролі окремо від учасників онлайн.
Щоб твоя власна роль лишалася вгорі, а корона повернулася:
- Відкрий Server Settings → Roles і вибери свою виділену особисту роль.
- Вимкни Administrator для цієї ролі — Display role members separately залиш увімкненим.
- Натисни Ctrl + R, щоб перезавантажити Discord.
Гайд: як збирати тег-команди
Теги — це власні префіксні команди, які ти пишеш сам, на основі TagScript — крихітної шаблонної мови зі змінними, логікою, математикою, випадковістю й керівними блоками (видалити тригер, надіслати відповідь у DM, поставити реакцію, обмежити за роллю, прикріпити ембед тощо). Кожна змінна повідомлення працює й тут.
Створити тег
Скористайся /tag (або панель керування → Інструменти → Теги). Дай йому назву й вміст. Учасники викликають його твоїм префіксом, напр. .rules.
/tag name: hello content: Hey {user(mention)}, welcome to {server(name)}! 👋
Виконання .hello → Привіт, @You, ласкаво просимо до Octera! 👋
Змінні
У тегу працює кожна змінна повідомлення — {user.mention}, {server}, {avatar} та решта. Теги додають кілька своїх:
| Змінна | Що дає |
|---|---|
| {args} | Усе, що набрано після команди. {args(1)} = перше слово, {args(2)} = друге… |
| {target(mention)} | Перша @згадка в повідомленні (інакше той, хто його запустив) — ті самі атрибути, що й у {user} |
| {uses} | Скільки разів запускався тег |
| {unix} | Поточна мітка часу Unix |
Логіка, математика & випадковість
| Блок | Що робить |
|---|---|
| {if(a==b):yes|no} | Умова. Оператори: == != > < >= <= |
| {any(a==b|c==d):yes|no} | any/or та all/and для кількох умов одночасно |
| {math:2*(3+4)} | Арифметика (+ - * / % ^) |
| {random:a~b~c} | Вибрати один випадковий варіант (розділяй через ~ або ,) |
| {range:1-100} | Випадкове ціле число з діапазону |
| {=(name):value} | Задати змінну; прочитати її пізніше через {name} |
| {lower} {upper} {replace(a,b):text} {length:text} | Текстові помічники |
Керуючі блоки (побічні ефекти)
| Блок | Ефект |
|---|---|
| {delete} | Видалити повідомлення, яке викликало тег |
| {dm} | Надіслати відповідь у DM тому, хто викликав команду |
| {react:✅,🎉} | Реагує на відповідь · {reactu:✅} реагує на тригер |
| {redirect:#channel} | Надіслати відповідь в інший канал |
| {require(@Role)} / {blacklist(@Role)} | Дозволити або заборонити використання тегу лише цим ролям чи каналам |
| {embed(title):Hi}{embed(description):...} | Зібрати насичений ембед (заголовок, опис, колір, зображення, мініатюра, футер, поле) |
| {silent} | Виконати побічні дії тегу, не надсилаючи тексту |
Розібрані приклади
Скринька пропозицій — видаляє команду й публікує охайний ембед у каналі:
{delete}{redirect:#suggestions}{embed(title):💡 Suggestion from {user(name)}}{embed(description):{args}}{embed(color):#a855f7}
Підкидання монети з реакціями:
{user(mention)} flips… **{random:Heads~Tails}**! {react:🪙}
Оголошення лише для персоналу — доступ за роллю, нікому не пише в особисті, публікує в канал:
{require(@Staff):You can't use this.}{redirect:#announcements}📢 {args}
Персоналізоване привітання зі згадкою учасника:
{=(msg):Welcome {target(mention)} — you're member #{server(member_count)}!}{if({args}==):Mention someone to welcome them.|{msg}}