!poke · !pokedex
Pokémon-Lookup via PokéAPI. Ohne Argument: Random aus Pokédex (1-1025). Mit Argument: nach Name oder ID.
PokéAPI ist free, kein Auth, aggressives Caching empfohlen. Stand 2026: 1025 Pokémon (durch Scarlet/Violet DLC).
1 Set Argument: Identifier Core › Arguments › Set Argument Default: leer (= Random). Whitespace → Dash für mehrteilige Namen.
Variable Name pokeId Value $replace(%input0%, " ", -)$
Input %pokeId% Operation Is Null or Empty
2a Then Get Random Number Core › Logic › Get Random Number
2b Then Set Argument: pokeId = Random Core › Arguments › Set Argument Variable Name pokeId Value %randomNumber%
Pokémon-Endpoint.
URL https://pokeapi.co/api/v2/pokemon/%pokeId% Variable Name poke Parse result as JSON aktiv
4 If/Else: Nicht gefunden (404) Input %poke.name% Equals 404
4a Then Send Message to Channel Twitch › Chat › Send Message to Channel Message @%user% Pokémon „%pokeId%“ gibt es nicht.
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
Input %poke.name% Operation Is Null or Empty
5a Then Send Message to Channel Twitch › Chat › Send Message to Channel Message @%user% PokéAPI down.
Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.
6 Send Message to Channel Twitch › Chat › Send Message to Channel ID, Name, Types, Height (in dm → m), Weight (in hg → kg).
Message 🎮 #%poke.id% %poke.name%. Type: %poke.types[0].type.name% · %poke.height%dm / %poke.weight%hg
A AzaBot : 🎮 #25 pikachu. Type: electric · 4dm / 60hg
↑ So sieht's im Chat aus
1 Set Argument: pokeId = $replace(%input0%, space, -) 2 If/Else: %pokeId% Is Null or Empty
Then 2a Get Random Number (1, 1025) Then 2b Set Argument: pokeId = %randomNumber% 3 Fetch URL: pokeapi.co/.../%pokeId% (JSON) 4 If/Else: %poke.name% Equals 404
Then 4a Send Message: nicht gefunden 5 If/Else: %poke.name% Is Null or Empty
Then 5a Send Message: API-Down 6 Send Message: 🎮 Pokémon-Info
Feld Wert Commands !pokemon!poke!pokedexUser Cooldown 30 Global Cooldown 5
Name mit Space: Mr. Mime → API erwartet mr-mime. Sub-Action 1 replace’t Spaces zu Dash. Sonderzeichen wie Punkte werden nicht gefiltert: !pokemon Mr. Mime würde fehlen.
Capitalization: API ist case-insensitive bei Names („Pikachu“ = „pikachu“).
Mehrere Types: Pokémon haben oft 2 Types. Aktuelle Action zeigt nur den ersten. Mit %poke.types[1].type.name% zweiten zeigen (falls vorhanden).
Height/Weight-Units: API liefert in decimetre + hectogram. Echte Werte: * 0.1 für Meter/kg.
DE-Namen: PokéAPI hat pokemon-species Endpoint mit Multi-Language. 2. Fetch auf species → %species.names[7].name% (de = index 7).
Sprite-URL: %poke.sprites.front_default% ist die Image-URL: als Twitch-Embed im Overlay zeigen.
Stats-Zusammenfassung: HP/ATK/DEF aus %poke.stats[]% ziehen.
!shiny: Random + 1/4096 Chance → Shiny-Variant.
Import-String folgt
Die Action ist 1:1 nach Anleitung oben nachbaubar.