38 lines
		
	
	
		
			895 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			895 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
do
 | 
						|
-- TODO: More currencies
 | 
						|
 | 
						|
-- See http://webrates.truefx.com/rates/connect.html
 | 
						|
local function getEURUSD(usd)
 | 
						|
  local url = 'http://webrates.truefx.com/rates/connect.html?c=EUR/USD&f=csv&s=n'
 | 
						|
  local res,code = http.request(url)
 | 
						|
  local rates = res:split(", ")
 | 
						|
  local symbol = rates[1]
 | 
						|
  local timestamp = rates[2]
 | 
						|
  local sell = rates[3]..rates[4]
 | 
						|
  local buy = rates[5]..rates[6] 
 | 
						|
  local text = symbol..'\n'..'Buy: '..buy..'\n'..'Sell: '..sell
 | 
						|
  if usd then
 | 
						|
    local eur = tonumber(usd) / tonumber(buy)
 | 
						|
    text = text.."\n "..usd.."USD = "..eur.."EUR"
 | 
						|
  end
 | 
						|
  return text
 | 
						|
end
 | 
						|
 | 
						|
local function run(msg, matches)
 | 
						|
  if matches[1] == "!eur" then
 | 
						|
    return getEURUSD(nil)
 | 
						|
  end
 | 
						|
  return getEURUSD(matches[1])
 | 
						|
end
 | 
						|
 | 
						|
return {
 | 
						|
    description = "Real-time EURUSD market price", 
 | 
						|
    usage = "!eur [USD]",
 | 
						|
    patterns = {
 | 
						|
      "^!eur$",
 | 
						|
      "^!eur (%d+[%d%.]*)$",
 | 
						|
    }, 
 | 
						|
    run = run 
 | 
						|
}
 | 
						|
 | 
						|
end |