Skip to content

Instantly share code, notes, and snippets.

@andion
Last active December 22, 2022 11:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andion/faddca22e537d46d5a5cd60c04da91a9 to your computer and use it in GitHub Desktop.
Save andion/faddca22e537d46d5a5cd60c04da91a9 to your computer and use it in GitHub Desktop.
Script loteria navidad actualizado (ya tocaba después de 11 años)
#!/usr/bin/env ruby
require 'net/http'
require 'json'
numeros = ARGV
premios = {}
if ARGV.any?
puts 'Se van a comprobar los números: ' + ARGV * " / "
espera = 0
while true
sleep n = 5
if (espera+= n) >= 120
if(premios.length() > 0)
puts "Son las #{Time.now.strftime("%H:%M")} y estos son tus premios: #{premios.map{|n,p| "#{n}: #{p} euros"} * " , "} :)"
else
puts "Son las #{Time.now.strftime("%H:%M")} y todavía no ha tocado nada :("
end
espera = 0
end
numeros.each do |n|
begin
url = "https://api.elpais.com/ws/LoteriaNavidadPremiados?n=#{n}"
response = Net::HTTP.get(URI(url))
premio = JSON.parse(response[9..-1])["premio"]
if (premio > 0)
if(!premios[n])
puts "PREMIADO TU NÚMERO #{n} con #{premio} euros!!!!!"
elsif(premios[n] != premio)
puts "TU NÚMERO #{n}, ya premiado con #{premios[n]} ha sido premiado otra vez, sumando #{premio} euros!!!!"
end
premios[n] = premio
end
rescue Net::OpenTimeout
puts "Ha habido un error comprobando el número: #{number}, probamos otra vez."
end
end
end
else
puts 'USO: loteria_navidad numero1 [numero2,numero3,...]'
puts '(Los números sin 0 a la izquierda, si los hubiera)'
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment