Znasz to uczucie, kiedy czat zalewają te same pytania? Albo kiedy chcesz dodać interaktywności, ale proste komendy tekstowe już nie wystarczają? StreamElements Cloudbot to potężne narzędzie, które wykracza daleko poza zwykłe odpowiedzi. W tym przewodniku skupimy się na zaawansowanych komendach – tych, które potrafią dynamicznie reagować na użytkowników, integrować się z zewnętrznymi danymi i automatyzować złożone procesy na Twoim streamie.
Nie chodzi tylko o to, by mieć więcej komend, ale by każda z nich wnosiła realną wartość i odciążała Cię od powtarzalnych zadań. Pokażemy, jak wykorzystać pełen potencjał Cloudbota, zamieniając statyczne odpowiedzi w inteligentne narzędzia, które angażują Twoją społeczność.
Kiedy zwykłe komendy to za mało?
Proste komendy typu !sociale czy !discord są fundamentem, ale szybko dochodzimy do ściany. Co, jeśli chcesz, aby komenda wyświetlała liczbę dni do ważnego wydarzenia, aktualną pogodę w Twoim mieście, statystyki z gry, w którą grasz, albo pozwalała użytkownikom na mini-interakcje? Tutaj wkraczają zaawansowane funkcje Cloudbota, takie jak zmienne, warunki logiczne i integracja z API.
Zamiast ręcznie aktualizować informacje lub tworzyć setki statycznych komend, możesz zbudować jedną, inteligentną, która sama pobiera i przetwarza dane, reagując na konkretne konteksty. To klucz do skalowalności i prawdziwej automatyzacji.
{
}
Serce zaawansowanych komend: Zmienne, warunki i API
Aby tworzyć dynamiczne komendy, musisz zaprzyjaźnić się z kilkoma kluczowymi elementami składni StreamElements:
- Zmienne: To elementy, które Cloudbot automatycznie zastępuje dynamicznymi wartościami. Przykłady:
${user}: nick użytkownika wywołującego komendę.${target}: nick użytkownika, na którego skierowana jest komenda (np. w!hug @nick).${args}: argumenty przekazane do komendy (np. "cokolwiek" w!komenda cokolwiek).${channel.game},${channel.title}: aktualna gra i tytuł streama.${count}: licznik użyć danej komendy.
- Warunki logiczne (
$(eval)zif/else): Pozwalają komendzie reagować różnie w zależności od spełnionych warunków. Możesz sprawdzać, czy użytkownik jest modem, czy argumenty zostały podane, czy wartość licznika przekroczyła pewien próg itd.
To tylko prosty przykład. Możliwości są ogromne, od sprawdzania konkretnych wartości$(eval if ("${user.is.mod}" == "true") { "Witaj moderatorze!" } else { "Witaj widzu!" })${args}po porównywanie liczb. - Integracja z zewnętrznymi API (
$(urlfetch)/$(readapi)): To prawdziwa magia. Pozwala komendom pobierać dane z dowolnych publicznie dostępnych API. Możesz pobrać kurs walut, cytat dnia, prognozę pogody, statystyki gier, a nawet stworzyć własne mini-API.
Wynikiem będzie tekstowa odpowiedź z API. Jeśli potrzebujesz przetworzyć dane JSON, użyj$(urlfetch https://api.example.com/data?param=${args})$(readapi). Pamiętaj, że niektóre API wymagają kluczy autoryzacyjnych, które musisz bezpiecznie przechowywać (np. w zmiennych StreamElements).
Pamiętaj, że każdy fragment kodu w $(eval) jest interpretowany jako JavaScript. Daje to ogromną elastyczność w manipulowaniu danymi.
Praktyczny scenariusz: Komenda do śledzenia "Challenge Progress"
Wyobraź sobie, że robisz wyzwanie na streamie, np. "100 zabójstw w grze X" lub "przejście 5 bossów". Chcesz, aby widzowie mogli sprawdzić postęp w każdej chwili. Zamiast ręcznie aktualizować licznik, stworzysz dynamiczną komendę.
- Stwórz komendę
!progress: Ta komenda będzie wyświetlać aktualny stan wyzwania.
Tutaj!commands add !progress Cel: 100 zabójstw. Aktualnie: $(count progress_counter) zabójstw! $(eval if ($(count progress_counter) >= 100) { "GRATULACJE! Cel osiągnięty!" } else { "" })progress_counterto unikalna nazwa dla naszego licznika. Cloudbot automatycznie utworzy go, jeśli nie istnieje. - Stwórz komendę do inkrementacji
!addprogress(tylko dla moderatorów): Ta komenda pozwoli Tobie lub Twoim moderatorom zwiększać licznik.
Użycie!commands add !addprogress $(eval if ("${user.is.mod}" == "true") { $(count progress_counter --add 1) "Postęp zwiększony o 1. Aktualnie: $(count progress_counter) zabójstw." } else { "Tylko moderatorzy mogą zmieniać postęp!" })--add 1zwiększa licznik o 1. Możesz też dodać--add ${args}, aby moderatorzy mogli dodawać dowolną liczbę. - Resetowanie licznika
!resetprogress(tylko dla moderatorów):!commands add !resetprogress $(eval if ("${user.is.mod}" == "true") { $(count progress_counter --set 0) "Postęp wyzwania zresetowany!" } else { "Tylko moderatorzy mogą resetować postęp!" })--set 0ustawia licznik na zero.
Jak to działa: Kiedy Ty lub mod wpiszecie !addprogress, licznik progress_counter zwiększy się. Gdy widz wpisze !progress, zobaczy aktualny stan i opcjonalnie gratulacje, jeśli cel został osiągnięty. To prosty, ale skuteczny sposób na zaangażowanie i śledzenie postępów na żywo.
Puls Społeczności: Typowe bolączki i pomysły na usprawnienia
Wielu streamerów początkowo czuje się przytłoczonych składnią Cloudbota. Często pojawiają się pytania:
- "Jak sprawić, żeby komenda reagowała tylko na konkretne osoby/role?" – Odpowiedź leży w
$(eval)i zmiennych takich jak${user.is.mod},${user.is.subscriber},${user.is.vip}. - "Moja komenda z API nie działa, co robię źle?" – Najczęściej problem leży w źle sformatowanym URL-u API, braku obsługi JSON (jeśli API zwraca JSON), lub problemach z autoryzacją. Zawsze testuj URL w przeglądarce przed wklejeniem go do Cloudbota, aby upewnić się, że zwraca oczekiwane dane.
- "Czy mogę przechowywać własne dane w bocie?" – Cloudbot oferuje zmienne niestandardowe (Custom Variables), które można ustawiać i pobierać, podobnie jak liczniki. To doskonałe do przechowywania np. linków do mediów społecznościowych, które zmieniają się rzadko, ale nie są stałą częścią komendy.
- "Komendy są zbyt długie i trudne do zarządzania!" – Rozważ podział złożonych funkcji na mniejsze, zagnieżdżone komendy lub użycie Custom Commands Editora w StreamElements, który oferuje bardziej przejrzysty interfejs do tworzenia zaawansowanych skryptów. Pamiętaj też o aliasach, aby skrócić wywoływanie komend.
Pamiętaj, że dokumentacja StreamElements jest bogatym źródłem informacji. Warto też szukać inspiracji w społeczności i na forach – często ktoś już mierzył się z podobnym problemem.
Planowanie i testowanie: Twoja checklisty
Zanim wdrożysz zaawansowaną komendę, przejdź przez te kroki:
- Określ cel: Co dokładnie ma robić ta komenda? Jaki problem rozwiązuje?
- Zidentyfikuj potrzebne dane: Czy potrzebujesz danych od użytkownika (
${args}), z API ($(urlfetch)), czy wewnętrznych (${count},${user})? - Narysuj przepływ logiki: Jakie warunki muszą być spełnione? Jakie są różne możliwe odpowiedzi? (Np. jeśli użytkownik jest modem, to A; jeśli nie, to B).
- Napisz składnię: Używając edytora komend w StreamElements, stwórz komendę. Zacznij od prostych fragmentów, dodając złożoność stopniowo.
- Testuj na sucho: Wklej składnię do edytora
$(eval)lub testuj w czacie na kanale testowym, lub jako moderator na swoim kanale, zanim pokażesz ją wszystkim. Sprawdź wszystkie możliwe scenariusze (np. z argumentami i bez, jako mod i jako widz). - Zbierz feedback: Zapytaj moderatorów lub zaufanych widzów, czy komenda działa intuicyjnie.
Zadbaj o swoje komendy: Przegląd i aktualizacje
Zaawansowane komendy, zwłaszcza te oparte na zewnętrznych API, wymagają regularnego przeglądu:
- Monitoruj API: Zewnętrzne API mogą się zmieniać lub przestać działać. Co kilka miesięcy sprawdź, czy URL-e nadal zwracają poprawne dane.
- Przetestuj logikę: Czy wszystkie warunki nadal działają zgodnie z oczekiwaniami? Czy nie ma błędów, które mogą pojawić się po aktualizacjach StreamElements?
- Uaktualnij treści: Jeśli komendy odwołują się do zmieniających się informacji (np. linków do gier, planów streamów), pamiętaj o ich aktualizacji.
- Usuń nieużywane: Jeśli komenda przestała być użyteczna, usuń ją, aby nie zaśmiecać listy i nie wprowadzać widzów w błąd.
- Optymalizuj: Czasami można uprościć złożoną składnię lub połączyć dwie komendy w jedną bardziej efektywną. Z biegiem czasu Twoje umiejętności w tworzeniu komend również wzrosną.
Pamiętaj, że Cloudbot to Twój cyfrowy asystent. Im lepiej go skonfigurujesz, tym więcej czasu zaoszczędzisz i tym bardziej profesjonalnie będzie wyglądał Twój czat. Nie bój się eksperymentować – to najlepsza droga do nauki.
2026-03-26