split admin.lua into multiple plugins to make way for the future
added shout.lua
This commit is contained in:
parent
c8a90c5c7f
commit
a0bbdba135
@ -1,75 +0,0 @@
|
||||
local triggers = {
|
||||
'^/admin[@'..bot.username..']*'
|
||||
}
|
||||
|
||||
local commands = {
|
||||
|
||||
['run'] = function(cmd)
|
||||
local cmd = cmd:input()
|
||||
if not cmd then
|
||||
return 'Please enter a command to run.'
|
||||
end
|
||||
return io.popen(cmd):read('*all')
|
||||
end,
|
||||
|
||||
['lua'] = function(cmd)
|
||||
local cmd = cmd:input()
|
||||
if not cmd then
|
||||
return 'Please enter a command to run.'
|
||||
end
|
||||
local a = loadstring(cmd)()
|
||||
if a then
|
||||
return a
|
||||
else
|
||||
return 'Done!'
|
||||
end
|
||||
end,
|
||||
|
||||
['reload'] = function(cmd)
|
||||
bot_init()
|
||||
return 'Bot reloaded!'
|
||||
end,
|
||||
|
||||
['halt'] = function(cmd)
|
||||
is_started = false
|
||||
return 'Stopping bot!'
|
||||
end,
|
||||
|
||||
['error'] = function(cmd)
|
||||
error('Intentional test error.')
|
||||
end
|
||||
|
||||
}
|
||||
|
||||
local action = function(msg)
|
||||
|
||||
if msg.from.id ~= config.admin then
|
||||
return
|
||||
end
|
||||
|
||||
local input = msg.text:input()
|
||||
if not input then
|
||||
local list = 'Specify a command: '
|
||||
for k,v in pairs(commands) do
|
||||
list = list .. k .. ', '
|
||||
end
|
||||
list = list:gsub(', $', '.')
|
||||
sendReply(msg, list)
|
||||
return
|
||||
end
|
||||
|
||||
for k,v in pairs(commands) do
|
||||
if string.match(get_word(input, 1), k) then
|
||||
sendReply(msg, v(input))
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
sendReply(msg, 'Specify a command: run, reload, halt.')
|
||||
|
||||
end
|
||||
|
||||
return {
|
||||
action = action,
|
||||
triggers = triggers
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
-- An extension to moderation.lua. This plugin is useless without it.
|
||||
-- Put this at the very top of your plugin list, even before blacklist.lua.
|
||||
|
||||
-- Developed by the incredible JuanPotato, creator of the Python CLI bot Botato.
|
||||
|
26
plugins/control.lua
Normal file
26
plugins/control.lua
Normal file
@ -0,0 +1,26 @@
|
||||
local triggers = {
|
||||
'^/reload[@'..bot.username..']*',
|
||||
'^/halt[@'..bot.username..']*'
|
||||
}
|
||||
|
||||
local action = function(msg)
|
||||
|
||||
if msg.from.id ~= config.admin then
|
||||
return
|
||||
end
|
||||
|
||||
if msg.text:match('^/reload') then
|
||||
bot_init()
|
||||
sendReply(msg, 'Bot reloaded!')
|
||||
elseif msg.text:match('^/halt') then
|
||||
is_started = false
|
||||
sendReply(msg, 'Stopping bot!')
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return {
|
||||
action = action,
|
||||
triggers = triggers
|
||||
}
|
||||
|
0
plugins/hearthstone.lua
Normal file → Executable file
0
plugins/hearthstone.lua
Normal file → Executable file
27
plugins/luarun.lua
Normal file
27
plugins/luarun.lua
Normal file
@ -0,0 +1,27 @@
|
||||
local triggers = {
|
||||
'^/lua[@'..bot.username..']*'
|
||||
}
|
||||
|
||||
local action = function(msg)
|
||||
|
||||
if msg.from.id ~= config.admin then
|
||||
return
|
||||
end
|
||||
|
||||
local input = msg.text:input()
|
||||
if not input then
|
||||
sendReply(msg, 'Please enter a string to load.')
|
||||
return
|
||||
end
|
||||
|
||||
local output = loadstring(input)()
|
||||
if not output then output = 'Done!' end
|
||||
sendReply(msg, output)
|
||||
|
||||
end
|
||||
|
||||
return {
|
||||
action = action,
|
||||
triggers = triggers
|
||||
}
|
||||
|
0
plugins/ping.lua
Normal file → Executable file
0
plugins/ping.lua
Normal file → Executable file
26
plugins/shell.lua
Normal file
26
plugins/shell.lua
Normal file
@ -0,0 +1,26 @@
|
||||
local triggers = {
|
||||
'^/run[@'..bot.username..']*'
|
||||
}
|
||||
|
||||
local action = function(msg)
|
||||
|
||||
if msg.from.id ~= config.admin then
|
||||
return
|
||||
end
|
||||
|
||||
local input = msg.text:input()
|
||||
if not input then
|
||||
sendReply(msg, 'Please specify a command to run.')
|
||||
return
|
||||
end
|
||||
|
||||
local output = io.popen(input):read('*all')
|
||||
if output:len() == 0 then output = 'Done!' end
|
||||
sendReply(msg, output)
|
||||
|
||||
end
|
||||
|
||||
return {
|
||||
action = action,
|
||||
triggers = triggers
|
||||
}
|
43
plugins/shout.lua
Normal file
43
plugins/shout.lua
Normal file
@ -0,0 +1,43 @@
|
||||
local doc = [[
|
||||
/shout <term>
|
||||
Shout something!
|
||||
]]
|
||||
|
||||
local triggers = {
|
||||
'^/shout[@'..bot.username..']*'
|
||||
}
|
||||
|
||||
local action = function(msg)
|
||||
|
||||
local input = msg.text:input()
|
||||
|
||||
if not input then
|
||||
sendReply(msg, doc)
|
||||
return
|
||||
end
|
||||
|
||||
input = input:upper()
|
||||
local output = ''
|
||||
local inc = 0
|
||||
for match in input:gmatch('.') do
|
||||
output = output .. match .. ' '
|
||||
end
|
||||
output = output .. '\n'
|
||||
for match in input:sub(2):gmatch('.') do
|
||||
local spacing = ''
|
||||
for i = 1, inc do
|
||||
spacing = spacing .. ' '
|
||||
end
|
||||
inc = inc + 1
|
||||
output = output .. match .. ' ' .. spacing .. match .. '\n'
|
||||
end
|
||||
output = '```\n' .. output:trim() .. '\n```'
|
||||
sendMessage(msg.chat.id, output, true, false, true)
|
||||
|
||||
end
|
||||
|
||||
return {
|
||||
action = action,
|
||||
triggers = triggers,
|
||||
doc = doc
|
||||
}
|
Reference in New Issue
Block a user