do local images_enabled = true; local function get_sprite(path) local url = "http://pokeapi.co/"..path local b,c = http.request(url) local data = json:decode(b) local image = data.image return image end local function callback(extra) send_msg(extra.receiver, extra.text, ok_cb, false) end local function send_pokemon(query, receiver) local url = "http://pokeapi.co/api/v1/pokemon/" .. query .. "/" local res,code = http.request(url) if code ~= 200 then return "Kein Pokémon gefunden" end local pokemon = json:decode(res) if not pokemon then return 'Kein Pokémon gefunden.' end local text = 'Pokédex ID: '..pokemon.pkdx_id ..'\nName: '..pokemon.name ..'\nTyp: '..pokemon.types[1].name ..'\nGewicht: '..pokemon.height..' kg' ..'\nGröße: '..pokemon.weight..' cm' ..'\nGeschwindigkeit: '..pokemon.speed ..'\nSpezies: '..pokemon.species --[[if pokemon.evolutions then text = text..'\nEntwickelt sich zu '..pokemon.evolutions[1].to end]] local image = nil if images_enabled and pokemon.sprites and pokemon.sprites[1] then local sprite = pokemon.sprites[1].resource_uri image = get_sprite(sprite) end if image then local image = "http://pokeapi.co"..image local cb_extra = { receiver=receiver, url=image } send_msg(receiver, text, send_photo_from_url_callback, cb_extra) else return text end end local function run(msg, matches) local receiver = get_receiver(msg) local query = URL.escape(matches[1]) local query = string.lower(query) return send_pokemon(query, receiver) end return { description = "Pokedex für Telegram", usage = {"/pokedex [Name/ID]","/pokemon [Name/ID]","/pkmn [Name/ID]"}, patterns = {"^/pokedex (.*)$","^/pokemon (.+)$","^/pkmn (.+)$"}, run = run } end