*Should* have a working local refactor now.

This commit is contained in:
Brayden Banks
2016-04-10 21:04:47 -07:00
parent acb679f8fa
commit 24deaec759
49 changed files with 1026 additions and 952 deletions

View File

@ -1,12 +1,21 @@
-- This plugin should go at the end of your plugin list in
-- config.lua, but not after greetings.lua.
local help = {}
local bindings = require('bindings')
local utilities = require('utilities')
local help_text = '*Available commands:*'
for i,v in ipairs(plugins) do
if v.command then
help_text = help_text .. '\n• /' .. v.command:gsub('%[', '\\[')
function help:init()
for _,plugin in ipairs(self.plugins) do
if plugin.command then
help_text = help_text .. '\n• /' .. plugin.command:gsub('%[', '\\[')
end
end
help.triggers = utilities.triggers():t('help', true):t('h', true).table
end
help_text = help_text .. [[
@ -15,40 +24,32 @@ help_text = help_text .. [[
Arguments: <required> \[optional]
]]
local triggers = {
'^/help[@'..bot.username..']*',
'^/h[@'..bot.username..']*$'
}
local action = function(msg)
function help:action(msg)
local input = utilities.input(msg.text_lower)
-- Attempts to send the help message via PM.
-- If msg is from a group, it tells the group whether the PM was successful.
if not input then
local res = sendMessage(msg.from.id, help_text, true, nil, true)
local res = bindings.sendMessage(self, msg.from.id, help_text, true, nil, true)
if not res then
sendReply(msg, 'Please message me privately for a list of commands.')
bindings.sendReply(self, msg, 'Please message me privately for a list of commands.')
elseif msg.chat.type ~= 'private' then
sendReply(msg, 'I have sent you the requested information in a private message.')
bindings.sendReply(self, msg, 'I have sent you the requested information in a private message.')
end
return
end
for i,v in ipairs(plugins) do
if v.command and get_word(v.command, 1) == input and v.doc then
local output = '*Help for* _' .. get_word(v.command, 1) .. '_ *:*\n' .. v.doc
sendMessage(msg.chat.id, output, true, nil, true)
for _,plugin in ipairs(self.plugins) do
if plugin.command and utilities.get_word(plugin.command, 1) == input and plugin.doc then
local output = '*Help for* _' .. utilities.get_word(plugin.command, 1) .. '_ *:*\n' .. plugin.doc
bindings.sendMessage(self, msg.chat.id, output, true, nil, true)
return
end
end
sendReply(msg, 'Sorry, there is no help for that command.')
bindings.sendReply(self, msg, 'Sorry, there is no help for that command.')
end
return {
action = action,
triggers = triggers
}
return help