Docs · Discord

V sekci STYGION Keystone

Discord

Chat oběma směry, účty ověřené kódem ze hry, role a bany držené v souladu a konzole zrcadlená tam, kde na ni vidíš.

Aktualizováno

Discord

Všechno tady je discord.toml, nebo obrazovka Settings v panelu.

Jak to rozmluvit

  1. Udělej si bota na discord.com/developers a dej mu intenty Message Content a Server Members — bez prvního vidí bot prázdné zprávy a do hry se nevrátí nic.
  2. /keystone set discord.token <token> a /keystone set discord.server <id serveru>.
  3. /keystone set discord.chat-channel <id kanálu> — místnost, se kterou hra mluví.
  4. Pozvi ho s právem číst, psát a spravovat webhooky v tom kanálu.

Token je tajemství a Keystone maskuje příkaz, kterým se nastavuje, z logů i z konzole. Pořád se ale zapíše do discord.toml, takže ten soubor není něco, co se publikuje.

Chat

Nastavení Co dělá
game-to-discord Co se řekne ve hře, objeví se na Discordu.
discord-to-game A obráceně.
speak-as-players Každý hráč mluví pod svým jménem a obličejem, přes webhook, místo aby všechno chodilo jako bot.
avatar Odkud se bere obličej. Výchozí je veřejný renderer hlav podle jména.
joins-and-leaves I příchody a odchody.
topic / topic-every Popisek kanálu nese, kdo je na serveru, a obnovuje se na časovač.
queue Kolik zpráv podržet, když je Discord nedostupný, aby výpadek nesnědl konverzaci.

Propojení účtu

Ve hře:

/discord link      # dá ti kód
/discord status    # jestli jsi propojený a s kým
/discord unlink    # zpátky

Na Discordu pak /link <kód> — jako slash příkaz, takže se ten kód nikdy nestane zprávou, kterou by bylo potřeba mazat, a odpověď vidíš jen ty. Žádná webovka, žádný e-mail.

  • link.required-to-join z toho udělá bránu: nepropojenému hráči se ukáže zpráva screens.not-linked s jeho kódem, pozvánkou a tím, jak dlouho kód platí, a dovnitř ho to nepustí, dokud to neudělá.
  • link.accounts-per-user je, kolik herních účtů smí mít jeden Discord účet.
  • link.rename-nickname ho na Discordu přejmenuje na jméno, pod kterým hraje.
  • link.code-lasts je, jak dlouho má smysl kód psát.
  • link.invite je pozvánka, kterou ta obrazovka ukáže.

A k čemu je to dobré i mimo hru: propojení je na serveru, který není v online režimu, jediný důkaz totožnosti, který existuje — vzniklo zevnitř hry pod tím jménem a potvrdil ho účet, který hra nerozdává. Proto se na něj dá ptát přes API: GET /v1/discord/links?discord=<id> se scopem players.read řekne, které herní účty ten člověk drží. Tak se e-shop dozví, komu koupenou věc doručit, místo aby věřil jménu napsanému do formuláře.

Role a bany v souladu

  • roles.follow spáruje discordovou roli se skupinou v Keystone, oběma směry: dáš někomu roli a dostane skupinu.
  • ban.game-to-discord a ban.discord-to-game přenesou ban. Vypnuté ve výchozím stavu, protože je to rozhodnutí, ne pohodlí — a ban.who-may říká, čí bany na Discordu smí dosáhnout do hry. Viz moderace.

Konzole tam, kde na ni vidíš

console.channel zrcadlí log serveru do discordové místnosti, po dávkách každých console.every, aby se vytížený server dal číst a nebyl to proud vody. console.levels vybere, co má cenu zrcadlit, console.ignoring zahodí řádky, kterých máš plné zuby. console.most-lines omezí jednu dávku.

Kdo vidí do té místnosti, čte log tvého serveru. Dej ji někam, kam vidí jen tvůj tým.

Upozornění

alerts.channel je místo, kde Keystone řekne, že je něco špatně — TPS pod operations.alerts.tps-below, paměť nad operations.alerts.memory-above-percent, drženo po must-last a pak ticho po quiet-for, aby se z jedné špatné minuty nestalo čtyřicet zpráv. alerts.ping-role je, kdo se má vzbudit. alerts.runs-channel je, kam padají hotové zátěžové testy.

Otázka „jsi to ty?"

Když je zapnuté accounts.ask-on-discord, dostane propojený hráč při připojení soukromou zprávu s tím, kdo se připojuje a odkud, a dvěma tlačítky. Podrobně na stránce Účty.

Tickety na Discordu

tickets.category a tickets.roles dají vlákna ticketů do kategorie a pustí k nim tvoje role. Zbytek je na stránce o ticketech.

Pomohla vám tahle stránka?

Otevře panel zpětné vazby s touhle stránkou v příloze. Přistane do jedné fronty se vším ostatním.