Merge branch 'master' of github.com:yagop/telegram-bot

This commit is contained in:
yago 2014-10-09 15:09:15 +02:00
commit 7e81d2af73
2 changed files with 52 additions and 9 deletions

View File

@ -59,7 +59,6 @@ function send_image_from_url (msg)
end end
function is_image_url(text) function is_image_url(text)
print ('IS image ' .. text ..'?')
last = string.get_last_word(text) last = string.get_last_word(text)
extension = string.get_extension_from_filename(last) extension = string.get_extension_from_filename(last)
if extension == 'jpg' or extension == 'png' then if extension == 'jpg' or extension == 'png' then
@ -102,6 +101,12 @@ function do_action(msg)
return return
end end
if string.starts(msg.text, '!rae') then
text = msg.text:sub(6,-1)
meaning = getDulcinea(text)
send_msg(receiver, meaning, ok_cb, false)
end
if string.starts(msg.text, '!9gag') then if string.starts(msg.text, '!9gag') then
url, title = get_9GAG() url, title = get_9GAG()
file_path = download_to_file(url) file_path = download_to_file(url)
@ -277,14 +282,52 @@ function get_fortunes_uc3m()
return b return b
end end
function getDulcinea( text )
local api = "http://dulcinea.herokuapp.com/api/?query="
b = http.request(api..text)
dulcinea = json:decode(b)
if dulcinea.status == "error" then
return "Error: " .. dulcinea.message
end
while dulcinea.type == "multiple" do
text = dulcinea.response[1].id
b = http.request(api..text)
dulcinea = json:decode(b)
end
vardump(dulcinea)
local text = ""
local responses = #dulcinea.response
if (responses > 5) then
responses = 5
end
for i = 1, responses, 1 do
text = text .. dulcinea.response[i].word .. "\n"
local meanings = #dulcinea.response[i].meanings
if (meanings > 5) then
meanings = 5
end
for j = 1, meanings, 1 do
local meaning = dulcinea.response[i].meanings[j].meaning
text = text .. meaning .. "\n\n"
end
end
return text
end
function getGoogleImage(text) function getGoogleImage(text)
local api = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q="
text = URL.escape(text) text = URL.escape(text)
for i = 1, 5, 1 do -- Try 5 times
local api = "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q="
b = http.request(api..text) b = http.request(api..text)
local google = json:decode(b) local google = json:decode(b)
if (google.responseStatus == 200) then -- OK
math.randomseed(os.time()) math.randomseed(os.time())
i = math.random(#google.responseData.results) i = math.random(#google.responseData.results) -- Random image from results
return google.responseData.results[i].url return google.responseData.results[i].url
end
end
end end
function get_9GAG() function get_9GAG()

2
tg

@ -1 +1 @@
Subproject commit ddcd8ad44eab32ac977601be0a8e9c8be9420777 Subproject commit 7a9764f24ac745eb03a72e2ddb69c8574f6a8c2f