Basic cron version
This commit is contained in:
parent
198f700f86
commit
8b04aefd45
30
bot/bot.lua
30
bot/bot.lua
@ -59,11 +59,13 @@ function do_action(msg)
|
|||||||
matches = { string.match(text, pattern) }
|
matches = { string.match(text, pattern) }
|
||||||
if matches[1] then
|
if matches[1] then
|
||||||
print(" matches",pattern)
|
print(" matches",pattern)
|
||||||
result = desc.run(msg, matches)
|
if desc.run ~= nil then
|
||||||
print(" sending", result)
|
result = desc.run(msg, matches)
|
||||||
if (result) then
|
print(" sending", result)
|
||||||
_send_msg(receiver, result)
|
if (result) then
|
||||||
return
|
_send_msg(receiver, result)
|
||||||
|
return
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -182,6 +184,10 @@ end
|
|||||||
|
|
||||||
function on_binlog_replay_end ()
|
function on_binlog_replay_end ()
|
||||||
started = 1
|
started = 1
|
||||||
|
load_plugins()
|
||||||
|
-- Uncomment the line to enable cron plugins.
|
||||||
|
-- cron_plugins()
|
||||||
|
-- See plugins/ping.lua as an example for cron
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Start and load values
|
-- Start and load values
|
||||||
@ -195,7 +201,6 @@ plugins = {}
|
|||||||
|
|
||||||
-- load all plugins in the plugins/ directory
|
-- load all plugins in the plugins/ directory
|
||||||
function load_plugins()
|
function load_plugins()
|
||||||
plugins = {}
|
|
||||||
for k, v in pairs(scandir("plugins")) do
|
for k, v in pairs(scandir("plugins")) do
|
||||||
-- Load only lua files
|
-- Load only lua files
|
||||||
if (v:match(".lua$")) then
|
if (v:match(".lua$")) then
|
||||||
@ -206,5 +211,16 @@ function load_plugins()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
load_plugins()
|
-- Cron all the enabled plugins
|
||||||
|
function cron_plugins()
|
||||||
|
|
||||||
|
for name, desc in pairs(plugins) do
|
||||||
|
if desc.cron ~= nil then
|
||||||
|
print("croned!"..desc.description)
|
||||||
|
desc.cron()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Called again in 5 mins
|
||||||
|
postpone (cron_plugins, false, 5*60.0)
|
||||||
|
end
|
@ -1,12 +1,21 @@
|
|||||||
function run(msg, matches)
|
socket = require("socket")
|
||||||
local receiver = get_receiver(msg)
|
|
||||||
print('receiver: '..receiver)
|
function cron()
|
||||||
return "pong"
|
-- Checks a TCP connexion
|
||||||
|
-- Use yours desired web and id
|
||||||
|
local addr = "your.web.site"
|
||||||
|
local dest = "user#id"..our_id
|
||||||
|
if not socket.connect(addr, 80) then
|
||||||
|
local text = "ALERT: "..addr.." is offline"
|
||||||
|
print (text)
|
||||||
|
send_msg(dest, text, ok_cb, false)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
description = "bot sends pong",
|
description = "If domain is offline, send msg to peer",
|
||||||
usage = "!ping",
|
usage = "",
|
||||||
patterns = {"^!ping$"},
|
patterns = {},
|
||||||
run = run
|
run = nil,
|
||||||
|
cron = cron
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user