This repository has been archived on 2021-04-24. You can view files and clone it, but cannot push or open issues or pull requests.
Mikubot-2/plugins/preview.lua
topkecleon fe549add63 Better logging, new preview.lua plugin.
When an exception is caught, info will be printed to the config.log_chat or the console.
/preview will give an "unlinked" preview for the link.
youtube.lua now uses config.google_api_key.
youtube.lua now uses unlinked previews.
lastfm.lua gives more informative error messages.
New utility: handle_exception().
2016-01-13 13:00:17 -05:00

48 lines
858 B
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local command = 'preview <link>'
local doc = [[```
/preview <link>
Returns a full-message, "unlinked" preview.
```]]
local triggers = {
'^/preview'
}
local action = function(msg)
local input = msg.text:input()
if not input then
sendMessage(msg.chat.id, doc, true, nil, true)
return
end
input = get_word(input, 1)
if not input:match('^https?://.+') then
input = 'http://' .. input
end
local res = HTTP.request(input)
if not res then
sendReply(msg, 'Please provide a valid link.')
return
end
if res:len() == 0 then
sendReply(msg, 'Sorry, the link you provided is not letting us make a preview.')
return
end
-- Invisible zero-width, non-joiner.
local output = '[](' .. input .. ')'
sendMessage(msg.chat.id, output, false, nil, true)
end
return {
action = action,
triggers = triggers,
doc = doc,
command = command
}