Plugin Discord
Plugin Discord prepája Elowen s Discordom. Nainštalujte ho v Nastavenia → Pluginy → Dostupné pluginy. Detail pluginu obsahuje jeho nastavenia. Inštalácia, zapnutie alebo vypnutie pluginu sa prejaví po reštarte Elowen; niektoré nastavenia a prepisy pre jednotlivé kanály platia okamžite. Každodenné príkazy a správanie kanálov nájdete v časti Discord. Spoločné pojmy pre všetky chatovacie platformy sú v prehľade Pluginy pre chatovacie platformy.
Aktuálnu verziu pluginu nájdete v registri. Vyžaduje zodpovedajúce vydanie jadra Elowen 0.30.7 so zdieľaným API verzie 14.
Plugin môže inštalovať, zapínať a konfigurovať iba administrátor. Token bota sa ukladá ako tajná hodnota; jeho nastavenie ukazuje len to, či je token nastavený, nie jeho hodnotu. Nástroje bota tento token používajú a zlyhávajú, kým sa bot k Discordu nedostane.
Inštalácia a pripojenie
Vytvorte bota v Discord Developer Portal, skopírujte jeho token a povoľte privilegovaný zámer Message Content. Povoľte aj Server Members, ak má bot vypisovať členov servera. Pozvite bota s oprávneniami Discordu, ktoré na svoju prácu potrebuje, potom nainštalujte plugin, zadajte token v Nastavenia → Prístupy → Discord a nastavte aspoň jednu zásadu rolí v Nastavenia → Pluginy → Discord. Zapnutím plugin pripojíte. Príkazy bota zahŕňajú /model, /reasoning, /display, /new a /help. Registrujú sa aj zdieľané príkazy chatu, ktoré publikuje démon, napríklad /context, /compact, /fast, /stop, /stats a /restart; ich správanie patrí do základnej sady príkazov. /display mení prezentáciu kanála a vyžaduje rolu operátora. Ak token nie je nastavený, plugin sa nepripojí a jeho nástroje pre platformu nie sú dostupné. Priame správy a skupinové DM Discordu sa ignorujú. Výber cieľa oznámení potrebuje token bota a ID servera; bez nich nezobrazí žiadne ciele.
O tom, komu bot odpovedá, rozhoduje zásada rolí; môže tiež pridať pokyny pre zdieľanú miestnosť. Nastavte aspoň jednu zásadu. Platí prvá zodpovedajúca pomenovaná zásada. Pravidlo * pre všetkých sa vyhodnocuje až po pomenovaných pravidlách, nech je jeho poradie akékoľvek, ale na konci udrží poradie prehľadné. Správy odosielateľa, ktorý nezodpovedá žiadnej zásade, sa ignorujú. Zásada nenahrádza identitu: odosielateľ tiež potrebuje prepojený účet Elowen, ktorého prístup k Projektom a oprávnenia nástrojov platia pre dané kolo.
Každý príkaz s lomítkom, vrátane /new a /help, pred spustením skontroluje aktuálnu zásadu rolí člena. Člen bez priradenia dostane súkromné odmietnutie a nemôže obnoviť zdieľanú konverzáciu. Každé tlačidlo, odoslanie voľby a zmena stránky výberu znova kontrolujú tento prístup, takže strata priradenej roly zavrie aj už otvorený výber. Odmietnutá interakcia s výberom aktualizuje len svoju súkromnú odpoveď; odmietnutá interakcia s otázkou pošle súkromné oznámenie a zdieľanú otázku ponechá bez zmeny. Príkazy vyžadujúce operátora stále kontrolujú administrátorský príznak zásady.
Každý kanál má vlastnú konverzáciu a môže mať vlastný model a nastavenia zobrazenia. Novú konverzáciu tam začnete príkazom /new. Príkaz /context môže do chatu platformy priniesť jednu z vašich konverzácií. Obrázky sa posielajú nastavenému modelu pre obrázky; na ostatné prílohy platia nižšie uvedené limity médií. Súbory, ktoré agent zdieľa, sa pripoja k odpovedi, najviac štyri na odpoveď.
Nastavte cieľ oznámení, aby ste dostávali proaktívne správy, napríklad výsledky naplánovaných úloh. Ak pole necháte prázdne, tieto správy sa vypnú.
Pripojenie a prístup
| Nastavenie | Čo robí |
|---|---|
| Token bota | Povinná tajná hodnota z Discord Developer Portal. |
| ID servera | Voliteľné obmedzenie na server a predvolený server pre nástroje servera; prázdne pole povolí každý server, ktorého je bot členom. |
| Povolené vlákna | Voliteľný zoznam povolených ID vlákien; prázdne pole nepridá obmedzenie vlákien. |
| Cieľ oznámení | Kanál alebo vlákno pre proaktívne správy; prázdne pole ich vypne. |
| Pravidlá rolí | Priradí ID rolí Discordu k prístupu a pokynom pre miestnosť. Pravidlo * platí po pomenovaných pravidlách. Zásada s administrátorským príznakom zapína príkazy a výbery len pre operátorov. |
Kľúče polí sú v poradí tabuľky botToken, guildId, threadIds, notifyChannelId a rolePolicies.
Administrátorský príznak patrí zásade rolí, nie názvu roly na Discorde. Člen je operátor, keď prvá zásada zodpovedajúca jednej z jeho rolí má nastavený admin.
Výber cieľa oznámení ukladá do medzipamäte jeden zoznam kanálov až na jednu minútu, pre rovnaké ID servera a token bota. Zmena jedného z nich spôsobí, že ďalšia požiadavka výberu načíta nové ciele. Token zostáva vnútri démona.
Odpovede a zobrazenie
| Nastavenie | Predvolené | Čo robí |
|---|---|---|
| Odpovedať bez zmienky | Zapnuté | Odpovedať v kanáloch, ktoré bot vidí; vypnite, ak chcete vyžadovať @zmienku. |
| Aktivita nástrojov | Živý stav | Zvoľte Vypnuté, Živý stav alebo Živý výstup. Prepis pre kanál nastavíte príkazom /display. |
| Doručenie odpovede | Len finálna odpoveď | Odoslať úplnú odpoveď po aktivite nástrojov, alebo zobrazovať odpoveď, ako vzniká. |
| Detail výstupu nástrojov | Krátke zhrnutie | Zvoľte Len stav, Krátke zhrnutie alebo Posledná časť výstupu. Celý pôvodný výstup nástroja sa neposiela. |
| Rozloženie správ nástrojov | Jedna živá správa | Ponechať jednu správu, alebo použiť jednu správu na nástroj. |
| Nahradiť priebeh práce odpoveďou | Vypnuté | Nahradiť správu s priebehom finálnou odpoveďou. Prepíše živé odpovede aj rozloženie po nástrojoch. |
| Reakcie počas spracovania | Zapnuté | Zobrazovať stav spracovania ako reakcie na prichádzajúcej správe. |
| Stavový riadok | Zapnuté | Pridať pod odpoveď model a využitie kontextu. |
| Zobraziť uvažovanie | Vypnuté | Zobrazovať výstup rozšíreného uvažovania, keď to model podporuje. |
| Jazyk služobných správ | Angličtina | Jazyk služobných správ bota: angličtina, čeština alebo slovenčina. |
Kľúče v poradí tabuľky sú respondWithoutMention, toolActivity, answerMode, toolOutput, toolMessageMode, deleteToolActivityAfterTurn, reactions, runtimeFooter, showReasoning a language.
Otázky
Keď sa vás Elowen na niečo pýta, bot pošle jednu správu s tlačidlami pre jednu voľbu z najviac piatich možností, alebo ponuku pre viacnásobnú voľbu či dlhší zoznam. Niekoľko otázok sa pýta postupne v tej istej správe s počítadlom ako Question 2/3: každá odpoveď posunie správu na ďalšiu otázku, Späť sa vráti k predchádzajúcej a odpovede sa odošlú spoločne po poslednej. Iné vám umožní napísať vlastnú odpoveď ako ďalšiu správu v kanáli; na písanie čaká len ten, kto naň klikol.
Odpovedať môže ktokoľvek v kanáli alebo vlákne, komu zásada rolí dovolí hovoriť s botom, nie len ten, ktorého správa odpoveď spustila. Všetci pracujú na tej istej správe, takže kto odpovie, posunie ju pre celú miestnosť, a odpovede sa odošlú raz, prvým úplným súborom. Člen, ktorému nezodpovedá žiadna zásada, dostane súkromné oznámenie, že nemôže odpovedať. Každá odpoveď sa zaznamená s ID člena na Discorde, ktorý ju dal.
Konverzácia a médiá
| Nastavenie | Predvolené | Čo robí |
|---|---|---|
| Počet správ z histórie kanála | 0 | Načítať až 100 posledných správ, keď začne nová konverzácia. |
| Model pre obrázky | Nenastavené | Model pre správy s obrázkami; prázdne pole použije obvyklý model kanála. |
| Max. veľkosť prichádzajúceho obrázka | 5 MiB | Limit sťahovania obrázkov, od 1 do 20 MiB. Väčšie obrázky sa zaznamenajú, ale nepošlú sa na rozpoznanie. |
| Max. obrázkov na správu | 4 | Počet obrázkov poslaných na rozpoznanie, od 1 do 10. |
| Max. veľkosť súboru | Nenastavené | Limit sťahovania príloh okrem obrázkov, od 1 do 25 MiB; nenastavené znamená 25 MiB. Väčšie súbory sa iba zaznamenajú. |
| Max. súborov na správu | Nenastavené | Počet príloh okrem obrázkov, od 1 do 10; nenastavené znamená 5. |
| Max. obrázkov na odpoveď | 4 | Obrázky zdieľané pomocou ShareImage pripojené k jednej odpovedi, od 1 do 10. |
Ak Discord históriu kanála nenačíta, adaptér zlyhanie zaloguje a začne konverzáciu bez doplnenia.
Kľúče v poradí tabuľky sú historyLimit, visionModel, maxImageBytes, maxImages, maxFileBytes, maxFiles a maxUploadImages.
Zvukové prílohy sú pri streamovaní obmedzené na 25 MiB, aj keď ich uvádzaná veľkosť chýba alebo je podhodnotená. Prílohy v tomto limite sa prepisujú cez zdieľanú hlasovú službu Elowen. Hlas musí byť v Elowen zapnutý a odosielateľ potrebuje prepojený účet s oprávnením na hlas a dostupným limitom útraty. Natívna hlasová správa na Discorde dostane textovú odpoveď a za ňou zvukovú odpoveď OGG/Opus. Bežné zvukové prílohy dostanú textovú odpoveď. Ak je prepis odmietnutý alebo zlyhá, príloha sa v správe spomenie; ak je reč odmietnutá alebo zlyhá, textová odpoveď zostane.
Nástroje a oprávnenia
Niekoľko popisov nástrojov uvádza, že volanie potrebuje administrátorskú reláciu a konkrétne oprávnenie Discordu. Plugin pri týchto nástrojoch administrátorskú reláciu nekontroluje; požiadavka vychádza z popisov nástrojov. Keď botovi chýba oprávnenie Discordu, volanie vráti text chyby HTTP.
Bot potrebuje zodpovedajúce oprávnenia Discordu na akcie správy servera. Zámer Server Members je nutný na výpisy členov. Najvyššia rola bota musí byť vyššie než rola, ktorú udeľuje alebo odoberá. Jeho nástroje zahŕňajú:
- Iba na čítanie:
DiscordListChannels,DiscordReadChannel,DiscordServerInfo,DiscordChannelInfo,DiscordMemberInfo,DiscordSearchMembers,DiscordListRoles,DiscordListMembersaDiscordListPins. - Správa:
DiscordPinMessage,DiscordUnpinMessage,DiscordDeleteMessage,DiscordPurgeMessages,DiscordAssignRole,DiscordRemoveRole,DiscordCreateThread,DiscordArchiveThread,DiscordLockThread,DiscordAddThreadMember,DiscordRemoveThreadMember,DiscordCreateChannel,DiscordCreateCategory,DiscordRenameChannelaDiscordDeleteChannel. DiscordApi: ľubovoľná požiadavka Discord REST API v10, ktorú má bot k dispozícii.
Začnite nástrojom DiscordListChannels, nájdite ID kanála a potom ho použite s nástrojmi pre kanály. DiscordSearchMembers porovnáva predpony názvov. Nástroje pre kanály vedia vytvoriť kanály typu text, hlas, novinky, stage alebo fórum a verejné vlákna. DiscordApi je výkonný nástroj pre pôvodné API; použite ho len vtedy, keď úlohu nepokryje štruktúrovaný nástroj. Vymazanie správ alebo kanálov sa nedá vrátiť. Hromadné vymazanie by malo začať skúšobným behom, ako žiada popis nástroja; kód toto poradie nevynucuje.
DiscordReadChannel vie načítať až 100 posledných správ a jeho textový výstup môže vynechať najstaršie správy, keď prekročí 6 000 znakov. DiscordListMembers vracia predvolene 50 členov, najviac 200, a potrebuje zámer Server Members. DiscordListPins zobrazuje náhľad textu správy do 120 znakov; kanál môže mať najviac 50 pripnutých správ. DiscordPurgeMessages predvolene posudzuje 100 posledných správ a najviac 5 000, pripnuté správy predvolene zachová a správy mladšie ako 14 dní maže hromadne a staršie po jednej. Jeho popis hovorí agentovi, aby najprv spustil dryRun; kód toto poradie nevynucuje, preto ciele pred skutočným behom overte. Výstup DiscordApi je obmedzený na 4 000 znakov a volania s obmedzeným počtom požiadaviek sa opakujú najviac trikrát. Pred použitím nástroja na trvalé vymazanie ciele overte. Dlhé odpovede sa delia na správy s najviac 1 990 znakmi.