Merge branch 'master' of github.com:yagop/telegram-bot
This commit is contained in:
commit
7e81d2af73
49
bot/bot.lua
49
bot/bot.lua
@ -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,15 +282,53 @@ 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()
|
||||||
b = http.request("http://api-9gag.herokuapp.com/")
|
b = http.request("http://api-9gag.herokuapp.com/")
|
||||||
|
2
tg
2
tg
@ -1 +1 @@
|
|||||||
Subproject commit ddcd8ad44eab32ac977601be0a8e9c8be9420777
|
Subproject commit 7a9764f24ac745eb03a72e2ddb69c8574f6a8c2f
|
Reference in New Issue
Block a user