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/dgmp.lua
2015-09-21 19:34:02 -04:00

93 lines
1.7 KiB
Lua
Executable File

local triggers = {
'^/index',
'^/listgroups'
}
local dgmp_index = function(msg)
local dgmp = load_data('dgmp.json')
local input = get_input(msg.text)
if not input then return end
input = JSON.decode(input)
if not input then return end
local id = tostring(input.chatid)
if not dgmp[id] then
dgmp[id] = {}
end
group = dgmp[id]
group.chatname = input.chatname
if input.usercount then
group.usercount = input.usercount
end
if input.description then
group.description = input.description
end
if input.joininstructions then
group.joininstructions = input.joininstructions
end
save_data('dgmp.json', dgmp)
end
local dgmp_list = function(msg)
local dgmp = load_data('dgmp.json')
local input = get_input(msg.text)
if not input then
input = ''
else
input = string.lower(input)
end
local output = ''
for k,v in pairs(dgmp) do
if string.find(string.lower(v.chatname), input) then
output = output .. v.chatname .. ' (' .. k .. ')\n'
if v.description then
output = output .. v.description .. '\n'
end
if v.usercount then
output = output .. 'Users: ' .. v.usercount .. '\n'
end
if v.joininstructions then
output = output .. 'How to join: ' .. v.joininstructions .. '\n'
end
output = output .. '\n'
end
end
if string.len(output) > 4000 then
output = 'List is too long! Please use a (better) search query.'
end
output = trim_string(output)
if string.len(output) == 0 then
output = 'No results found.'
end
send_msg(msg, output)
end
local action = function(msg)
if string.match(msg.text, '^/index') then
dgmp_index(msg)
elseif string.match(msg.text, '^/listgroups') then
dgmp_list(msg)
end
end
return {
triggers = triggers,
action = action
}