Acciones HTTP llevadas a plugins
This commit is contained in:
parent
7d8abde1d1
commit
50d88007a0
89
bot/bot.lua
89
bot/bot.lua
@ -30,20 +30,8 @@
|
||||
if msg_valid(msg) == false then
|
||||
return
|
||||
end
|
||||
-- Check if command starts with ! eg !echo
|
||||
if msg.text:sub(0,1) == '!' then
|
||||
do_action(msg)
|
||||
else
|
||||
if is_image_url(msg.text) then
|
||||
send_image_from_url (msg)
|
||||
elseif get_youtube_code(msg.text) then
|
||||
send_youtube_thumbnail(msg)
|
||||
else
|
||||
if is_file_url(msg.text) then
|
||||
send_file_from_url(msg)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
do_action(msg)
|
||||
|
||||
mark_read(get_receiver(msg), ok_cb, false)
|
||||
-- write_log_file(msg)
|
||||
@ -53,71 +41,24 @@
|
||||
end
|
||||
|
||||
function msg_valid(msg)
|
||||
if msg.from.id == our_id then
|
||||
return true
|
||||
end
|
||||
if msg.out then
|
||||
return false
|
||||
end
|
||||
if msg.date < now then
|
||||
return false
|
||||
end
|
||||
if msg.text == nil then
|
||||
return false
|
||||
end
|
||||
if msg.unread == 0 then
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
function send_file_from_url (msg)
|
||||
last = string.get_last_word(msg.text)
|
||||
file = download_to_file(last)
|
||||
send_document(get_receiver(msg), file, ok_cb, false)
|
||||
end
|
||||
|
||||
function send_image_from_url (msg)
|
||||
last = string.get_last_word(msg.text)
|
||||
file = download_to_file(last)
|
||||
print("I will send the image " .. file)
|
||||
send_photo(get_receiver(msg), file, ok_cb, false)
|
||||
end
|
||||
|
||||
function is_image_url(text)
|
||||
last = string.get_last_word(text)
|
||||
extension = string.get_extension_from_filename(last) -- TODO: Change it please
|
||||
if extension == 'jpg' or extension == 'png' or extension == 'jpeg' then
|
||||
if msg.text == nil then
|
||||
return false
|
||||
end
|
||||
if msg.from.id == our_id then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function get_youtube_code( text )
|
||||
local yt_normal = string.match(text, "youtube.com/watch%?v=([A-Za-z0-9-]+)")
|
||||
if yt_normal then
|
||||
return yt_normal
|
||||
if msg.out then
|
||||
return false
|
||||
end
|
||||
yt_short = string.match(text, "youtu.be/([A-Za-z0-9-]+)")
|
||||
if yt_short then
|
||||
return yt_short
|
||||
if msg.date < now then
|
||||
return false
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function send_youtube_thumbnail(msg)
|
||||
yt_code = get_youtube_code(msg.text)
|
||||
yt_thumbnail = "http://img.youtube.com/vi/".. yt_code .."/hqdefault.jpg"
|
||||
file = download_to_file(yt_thumbnail)
|
||||
send_photo(get_receiver(msg), file, ok_cb, false)
|
||||
end
|
||||
|
||||
function is_file_url(text)
|
||||
last = string.get_last_word(text)
|
||||
extension = string.get_extension_from_filename(last)
|
||||
if extension == 'gif' then
|
||||
return true
|
||||
if msg.text == nil then
|
||||
return false
|
||||
end
|
||||
if msg.unread == 0 then
|
||||
return false
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Where magic happens
|
||||
|
18
plugins/gifs.lua
Normal file
18
plugins/gifs.lua
Normal file
@ -0,0 +1,18 @@
|
||||
function send_file_from_url (msg, url)
|
||||
last = string.get_last_word(ul)
|
||||
file = download_to_file(last)
|
||||
send_document(get_receiver(msg), file, ok_cb, false)
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
send_file_from_url(msg, matches[1])
|
||||
end
|
||||
|
||||
return {
|
||||
description = "from gif URL downloads it and sends to origin",
|
||||
usage = "",
|
||||
patterns = {
|
||||
"(https?://[%w-_%.%?%.:/%+=&]+.gif)$"
|
||||
},
|
||||
run = run
|
||||
}
|
22
plugins/images.lua
Normal file
22
plugins/images.lua
Normal file
@ -0,0 +1,22 @@
|
||||
|
||||
function send_image_from_url (msg)
|
||||
last = string.get_last_word(msg.text)
|
||||
file = download_to_file(last)
|
||||
print("I will send the image " .. file)
|
||||
send_photo(get_receiver(msg), file, ok_cb, false)
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
send_image_from_url(msg)
|
||||
end
|
||||
|
||||
return {
|
||||
description = "from image URL downloads it and sends to origin",
|
||||
usage = "",
|
||||
patterns = {
|
||||
"(https?://[%w-_%.%?%.:/%+=&]+.png)$",
|
||||
"(https?://[%w-_%.%?%.:/%+=&]+.jpg)$",
|
||||
"(https?://[%w-_%.%?%.:/%+=&]+.jpeg)$",
|
||||
},
|
||||
run = run
|
||||
}
|
20
plugins/youtube.lua
Normal file
20
plugins/youtube.lua
Normal file
@ -0,0 +1,20 @@
|
||||
|
||||
function send_youtube_thumbnail(msg, yt_code)
|
||||
yt_thumbnail = "http://img.youtube.com/vi/".. yt_code .."/hqdefault.jpg"
|
||||
file = download_to_file(yt_thumbnail)
|
||||
send_photo(get_receiver(msg), file, ok_cb, false)
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
send_youtube_thumbnail(msg, matches[1])
|
||||
end
|
||||
|
||||
return {
|
||||
description = "sends YouTube image",
|
||||
usage = "",
|
||||
patterns = {
|
||||
"youtu.be/([A-Za-z0-9-]+)",
|
||||
"youtube.com/watch%?v=([A-Za-z0-9-]+)",
|
||||
},
|
||||
run = run
|
||||
}
|
Reference in New Issue
Block a user