update pokedex.lua
This commit is contained in:
parent
023a8b34f8
commit
595d679d8b
@ -1,6 +1,21 @@
|
|||||||
do
|
do
|
||||||
|
|
||||||
local function get_pokemon(query)
|
local images_enabled = true;
|
||||||
|
|
||||||
|
local function get_sprite(path)
|
||||||
|
local url = "http://pokeapi.co/"..path
|
||||||
|
print(url)
|
||||||
|
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 url = "http://pokeapi.co/api/v1/pokemon/" .. query .. "/"
|
||||||
local b,c = http.request(url)
|
local b,c = http.request(url)
|
||||||
local pokemon = json:decode(b)
|
local pokemon = json:decode(b)
|
||||||
@ -8,24 +23,44 @@ local function get_pokemon(query)
|
|||||||
if pokemon == nil then
|
if pokemon == nil then
|
||||||
return 'Kein Pokemon gefunden.'
|
return 'Kein Pokemon gefunden.'
|
||||||
end
|
end
|
||||||
return 'Pokédex ID: ' .. pokemon.pkdx_id .. '\n'
|
|
||||||
..'Name: ' .. pokemon.name .. '\n'
|
local text = 'Pokédex ID: ' .. pokemon.pkdx_id
|
||||||
..'Gewicht: ' .. pokemon.weight .. '\n'
|
..'\nName: ' .. pokemon.name
|
||||||
..'Größe: ' .. pokemon.height .. '\n'
|
..'\nGewicht: ' .. pokemon.weight
|
||||||
..'Speed: ' .. pokemon.speed .. '\n'
|
..'\nGröße: ' .. pokemon.height
|
||||||
..'Spezies: ' .. pokemon.species .. '\n'
|
..'\nSpeed: ' .. pokemon.speed
|
||||||
|
..'\nSpezies: ' .. pokemon.species
|
||||||
|
|
||||||
|
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
|
||||||
|
image = "http://pokeapi.co"..image
|
||||||
|
local extra = {
|
||||||
|
receiver = receiver,
|
||||||
|
text = text
|
||||||
|
}
|
||||||
|
send_photo_from_url(receiver, image, callback, extra)
|
||||||
|
else
|
||||||
|
return text
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function run(msg, matches)
|
local function run(msg, matches)
|
||||||
local name = string.lower(matches[1])
|
local receiver = get_receiver(msg)
|
||||||
return get_pokemon(name)
|
local query = URL.escape(matches[1])
|
||||||
|
return send_pokemon(query, receiver)
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
description = "Pokedex für Telegram",
|
description = "Pokedex für Telegram",
|
||||||
usage = "/pokedex [Name/ID]",
|
usage = {"/pokedex [Name/ID]","/pokemon [Name/ID]","/pkmn [Name/ID]"},
|
||||||
patterns = {"^/pokedex (.*)$"},
|
patterns = {"^/pokedex (.*)$","^/pokemon (.+)$","^/pkmn (.+)$"},
|
||||||
run = run
|
run = run
|
||||||
}
|
}
|
||||||
|
|
||||||
end
|
end
|
Reference in New Issue
Block a user