Bank gildii na Discordzie: jak śledzić wspólny ekwipunek na serwerze
Najprostszy sposób na śledzenie banku gildii na Discordzie to tabela, którą członkowie aktualizują komendami slash. Wtedy to, co jest w banku, kto to włożył i kto wyjął, jest zapisane na serwerze, na którym wszyscy i tak rozmawiają. Większość serwerów zaczyna od przypiętej wiadomości, którą ktoś edytuje ręcznie, arkusza Google podlinkowanego na kanale albo bota ekonomii. Wszystkie trzy działają przez jakiś czas. Przypięta wiadomość się sypie, gdy dwie osoby edytują ją tego samego wieczoru. Arkusz działa, dopóki członkowie nie przestaną go otwierać, a wielu przestaje, bo jest poza Discordem. Boty ekonomii traktują przedmioty jako coś, co kupuje się za punkty, a to inna robota niż „kto trzyma nasze 40 sztabek żelaza”.
Ten poradnik konfiguruje ekwipunek, który żyje na Discordzie: członkowie zapisują i sprawdzają przedmioty komendami slash, a admini widzą całą tabelę w przeglądarce. Korzysta z CordBase, który sami tworzymy, i zajmuje około pięciu minut.
Co będziesz mieć na końcu
- Komendę
/inventoryna serwerze z akcjamiadd,query,view,updateileaderboard. - Kolumny na przedmiot, ilość, właściciela, rzadkość i notatki.
- Uprawnienia ról, dzięki którym zwykli członkowie mogą sprawdzać przedmioty, a ilości zmieniają tylko oficerowie.
- Tabelę w przeglądarce, którą wyeksportujesz do CSV.
Krok 1: dodaj CordBase i zainstaluj szablon
- Zaloguj się przez Discorda na cordbase.gg i wybierz serwer.
- Dodaj bota na serwer, gdy panel o to poprosi.
- Otwórz galerię szablonów i zainstaluj Ekwipunek. Ma pięć kolumn: item (tekst, wymagana), quantity (liczba, wymagana), owner (członek, wymagana), rarity (od Common do Legendary) i notes.
Jeśli serwer ma jedną wspólną pulę przedmiotów i nie śledzi, kto co trzyma, zainstaluj zamiast tego Bank gildii. Ma przedmiot, ilość, osobę, która go zdeponowała, kategorię (materiały, sprzęt, przedmioty zużywalne, waluta) i datę. Reszta poradnika korzysta z Ekwipunku; komendy działają tak samo w Banku gildii, tylko z jego nazwami kolumn.
Komenda nazywa się tak jak tabela, więc szablon daje ci /inventory-tracker. Możesz ją skrócić na stronie edycji tabeli, zmieniając slug; ten poradnik zakłada, że zmieniono go na inventory.
Krok 2: ogranicz, kto może edytować
Nowe tabele pozwalają wszystkim na wszystko, co jest w porządku przy testach, ale źle się sprawdza w banku gildii. W uprawnieniach tabeli:
- Daj roli, którą mają wszyscy członkowie (na przykład
@Member), poziom Odczyt. Mogą uruchamiaćquery,viewileaderboard. - Daj roli oficera poziom Zapis, żeby mogli używać
addiupdate. - Poziom Admin (usuwanie i zbiorcza edycja) zostaw dla kierownictwa.
Gdy w tabeli ustawisz choć jedną rolę, członkowie bez żadnej z tych ról w ogóle nie mogą z niej korzystać.
Każdy z uprawnieniem Administrator na Discordzie i tak zachowuje pełny dostęp.
Krok 3: zapisuj przedmioty z Discorda
Dodanie wiersza wygląda tak:
/inventory add item:Iron Bar quantity:40 owner:@Mara rarity:Common
Discord pokazuje każdą kolumnę jako opcję, z wyborem członka dla właściciela i menu dla rzadkości, więc nikt nie wpisze „legendery”.
Gdy zmienia się stan, zaktualizuj ilość, zamiast wpisywać wiersz od nowa. Zacznij pisać w opcji row, wybierz przedmiot z listy, a potem ustaw opcję _mode, która decyduje, co dzieje się z liczbami:
/inventory update row:Iron Bar quantity:15 _mode:Decrement
To odejmuje 15 od obecnej ilości, jakakolwiek by była. „Zwiększ (dodaj do obecnej)” dodaje. „Ustaw (zastąp wartość)” (domyślne) zastępuje wartość. Gdy dwóch oficerów zmniejsza ilość w tej samej chwili, liczą się obie zmiany, bo zmiana jest stosowana jako działanie na zapisanej wartości, a nie jako polecenie „wpisz tę liczbę”.
Krok 4: sprawdzaj przedmioty
/inventory query owner:@Marawyświetla wszystko, co trzyma Mara./inventory query item:ironznajduje każdy wiersz, którego przedmiot zawiera „iron”, bez względu na wielkość liter./inventory query rarity:Legendary limit:25pokazuje do 25 legendarnych przedmiotów./inventory view row:Iron Bar(wybrany z listy) pokazuje cały wiersz, z tym, kto i kiedy go dodał./inventory leaderboard column:quantityszereguje przedmioty według stanu, od największego.
Wyniki zapytań pokazują najpierw najnowsze wiersze, a filtry można łączyć, więc owner:@Mara rarity:Epic zawęża wyniki do epickich przedmiotów Mary.
Krok 5: prowadź historię (opcjonalnie)
Tabela ekwipunku trzyma bieżący stan. Jeśli chcesz też mieć zapis tego, co przyszło i wyszło, zainstaluj obok Dziennik łupów (item, received by, source or boss, rarity, date) i zapisuj tam dropy. Plan Free ma dwie tabele, więc ekwipunek z dziennikiem łupów się zmieszczą.
Kiedy lepiej sprawdzi się coś innego
Arkusz nadal jest lepszym narzędziem, jeśli potrzebujesz formuł, wykresów albo dużo odwołań między danymi, a nikomu nie przeszkadza wychodzenie z Discorda, żeby go edytować. CordBase nie ma formuł ani synchronizacji z Google Sheets.
Jeśli twój „ekwipunek” to tak naprawdę wirtualna ekonomia, w której członkowie zarabiają monety i kupują przedmioty w sklepie, użyj bota ekonomii, np. UnbelievaBoat. CordBase nie prowadzi sklepu i sam nie wypłaca waluty.
CordBase pasuje, gdy dane to prawdziwe rekordy, na których serwerowi zależy, a ty chcesz, żeby ludzie aktualizowali je z Discorda, bez dawania im prawa edycji całego arkusza.
Limity, o których warto wiedzieć
- Free: 2 tabele po 100 wierszy. Pro (8 USD/mies.) podnosi to do nielimitowanej liczby tabel i 10 000 wierszy na tabelę oraz dodaje zbiorczą edycję. Eksport do CSV/JSON jest w każdym planie.
- Do 25 kolumn na tabelę.
- Tabele projektuje się w przeglądarce; członkowie nie mogą tworzyć nowych tabel z Discorda.
Często zadawane pytania
Czy członkowie mogą widzieć tylko swoje przedmioty?
Nie da się tego ustawić uprawnieniem. Każdy z dostępem Odczyt może przeszukiwać całą tabelę. Członkowie mogą zawęzić wyniki do swoich wierszy, wybierając siebie w opcji owner: /inventory query owner:@yourname.
Czy mogę zaimportować istniejący arkusz?
Jeszcze nie. CordBase nie ma obecnie importu CSV, więc istniejące wiersze trzeba dodać przez /inventory add albo w panelu. Każdy plan pozwala eksportować do CSV i JSON.
Czy bot musi czytać wiadomości?
Nie. CordBase odpowiada tylko na komendy slash i nie prosi o intencję Message Content.