Zum Inhalt springen
  • Dunkel
  • Hell
  • System

!pokemon

PokéAPI ist free, kein Auth, aggressives Caching empfohlen. Stand 2026: 1025 Pokémon (durch Scarlet/Violet DLC).

Set Argument: Identifier

Core Arguments Set Argument

Default: leer (= Random). Whitespace → Dash für mehrteilige Namen.

Variable Name pokeId
Value $replace(%input0%, " ", -)$

If/Else: Empty?

Core Logic If/Else
Input %pokeId%
Operation Is Null or Empty
Then

Get Random Number

Core Logic Get Random Number
Min 1
Max 1025
Then

Set Argument: pokeId = Random

Core Arguments Set Argument
Variable Name pokeId
Value %randomNumber%

Fetch URL: PokéAPI

Core Network Fetch URL

Pokémon-Endpoint.

URL https://pokeapi.co/api/v2/pokemon/%pokeId%
Variable Name poke
Parse result as JSON aktiv

If/Else: Nicht gefunden (404)

Core Logic If/Else
Input %poke.name%
Equals 404
Then

Send Message to Channel

Twitch Chat Send Message to Channel
Message @%user% Pokémon „%pokeId%“ gibt es nicht.
Then

Break

Core Logic Break

Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.

If/Else: Anderer Error

Core Logic If/Else
Input %poke.name%
Operation Is Null or Empty
Then

Send Message to Channel

Twitch Chat Send Message to Channel
Message @%user% PokéAPI down.
Then

Break

Core Logic Break

Stoppt die laufende Action. Alle folgenden Sub-Actions in derselben Action werden übersprungen.

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
AzaBot: 🎮 #25 pikachu. Type: electric · 4dm / 60hg
So sieht's im Chat aus
  1. 1 Set Argument: pokeId = $replace(%input0%, space, -)
  2. 2 If/Else: %pokeId% Is Null or Empty
    1. Then 2a Get Random Number (1, 1025)
    2. Then 2b Set Argument: pokeId = %randomNumber%
  3. 3 Fetch URL: pokeapi.co/.../%pokeId% (JSON)
  4. 4 If/Else: %poke.name% Equals 404
    1. Then 4a Send Message: nicht gefunden
    2. Then 4b Break
  5. 5 If/Else: %poke.name% Is Null or Empty
    1. Then 5a Send Message: API-Down
    2. Then 5b Break
  6. 6 Send Message: 🎮 Pokémon-Info
FeldWert
Commands!pokemon
!poke
!pokedex
User Cooldown30
Global Cooldown5
  • 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.