Merge pull request #65 from but3k4/master
Added the ability to quote users texts by chat.
This commit is contained in:
commit
f595cb1c85
33
plugins/imdb.lua
Normal file
33
plugins/imdb.lua
Normal file
@ -0,0 +1,33 @@
|
||||
|
||||
function imdb(movie)
|
||||
local http = require("socket.http")
|
||||
http.TIMEOUT = 5
|
||||
|
||||
movie = movie:gsub(' ', '+')
|
||||
url = "http://www.imdbapi.com/?t=" .. movie
|
||||
response, code, headers = http.request(url)
|
||||
|
||||
if code ~= 200 then
|
||||
return "Error: " .. code
|
||||
end
|
||||
|
||||
if #response > 0 then
|
||||
r = json:decode(response)
|
||||
r['Url'] = "http://imdb.com/title/" .. r.imdbID
|
||||
t = ""
|
||||
for k, v in pairs(r) do t = t .. k .. ": " .. v .. ", " end
|
||||
return t:sub(1, -3)
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
return imdb(matches[1])
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Imdb plugin for telegram",
|
||||
usage = "!imdb [movie]",
|
||||
patterns = {"^!imdb (.+)"},
|
||||
run = run
|
||||
}
|
72
plugins/quotes.lua
Normal file
72
plugins/quotes.lua
Normal file
@ -0,0 +1,72 @@
|
||||
local quotes_file = './data/quotes.lua'
|
||||
local quotes_table
|
||||
|
||||
function read_quotes_file()
|
||||
local f = io.open(quotes_file, "r+")
|
||||
|
||||
if f == nil then
|
||||
print ('Created a new quotes file on '..quotes_file)
|
||||
serialize_to_file({}, quotes_file)
|
||||
else
|
||||
print ('Quotes loaded: '..quotes_file)
|
||||
f:close()
|
||||
end
|
||||
return loadfile (quotes_file)()
|
||||
end
|
||||
|
||||
function save_quote(msg)
|
||||
local to_id = tostring(msg.to.id)
|
||||
|
||||
if msg.text:sub(11):isempty() then
|
||||
return "Usage: !addquote quote"
|
||||
end
|
||||
|
||||
if quotes_table == nil then
|
||||
quotes_table = {}
|
||||
end
|
||||
|
||||
if quotes_table[to_id] == nil then
|
||||
print ('New quote key to_id: '..to_id)
|
||||
quotes_table[to_id] = {}
|
||||
end
|
||||
|
||||
local quotes = quotes_table[to_id]
|
||||
quotes[#quotes+1] = msg.text:sub(11)
|
||||
|
||||
serialize_to_file(quotes_table, quotes_file)
|
||||
|
||||
return "done!"
|
||||
end
|
||||
|
||||
function get_quote(msg)
|
||||
local to_id = tostring(msg.to.id)
|
||||
local quotes_phrases
|
||||
|
||||
quotes_table = read_quotes_file()
|
||||
quotes_phrases = quotes_table[to_id]
|
||||
|
||||
return quotes_phrases[math.random(1,#quotes_phrases)]
|
||||
end
|
||||
|
||||
function run(msg, matches)
|
||||
if string.match(msg.text, "!quote$") then
|
||||
return get_quote(msg)
|
||||
elseif string.match(msg.text, "!addquote (.+)$") then
|
||||
quotes_table = read_quotes_file()
|
||||
return save_quote(msg)
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
description = "Save quote",
|
||||
description = "Quote plugin, you can create and retrieves random quotes",
|
||||
usage = {
|
||||
"!addquote [msg]",
|
||||
"!quote",
|
||||
},
|
||||
patterns = {
|
||||
"^!addquote (.+)$",
|
||||
"^!quote$",
|
||||
},
|
||||
run = run
|
||||
}
|
Reference in New Issue
Block a user