parent
e171a313b4
commit
277bd9e89f
@ -0,0 +1,89 @@
|
|||||||
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
|
<!DOCTYPE muclient>
|
||||||
|
<!-- Saved on Wednesday, August 01, 2018, 10:47 PM -->
|
||||||
|
<!-- MuClient version 5.06-pre -->
|
||||||
|
|
||||||
|
<!-- Plugin "Notifier" generated by Plugin Wizard -->
|
||||||
|
|
||||||
|
<muclient>
|
||||||
|
<plugin name="Notifier" author="Crowley" id="f99bb4b89cfa8c90ac2d03d5" language="Lua" purpose="Uses Telegram API to notify of events." save_state="y" date_written="2018-08-01 22:46:31" requires="5.06" version="1.0">
|
||||||
|
|
||||||
|
</plugin>
|
||||||
|
|
||||||
|
<!-- Script -->
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
<![CDATA[
|
||||||
|
local triggerLines = {
|
||||||
|
{name = "regularDouble", match = "^For the next 15 minutes experience is doubled in honor of the new superhero.", message = "Double for 15 minutes!"},
|
||||||
|
{name = "blessingDouble", match = "^Double experience for 10 minutes courtesy of .* daily blessing\\.", message = "Double for 10 minutes!"},
|
||||||
|
{name = "donationDouble", match ="\\[ 10 minutes of double exp started courtesy of donations being open \\]", message = "Double for 10 minutes!"},
|
||||||
|
{name = "hourDouble", match = "^For the next 60 minutes all experience is doubled!!$", message = "Hour of double!"},
|
||||||
|
{name = "questAlert", match = "^QUEST: You may now quest again.", message = "Quest time!"},
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
local triggerSetup = [[
|
||||||
|
<triggers>
|
||||||
|
<trigger match="%s" enabled="y" regexp="y" group="Notifier" keep_evaluating="y" sequence="100" name="%s" script="sendAlert">
|
||||||
|
</trigger>
|
||||||
|
</triggers>
|
||||||
|
]]
|
||||||
|
|
||||||
|
for _,v in ipairs(triggerLines) do
|
||||||
|
local triggerXML = string.format(triggerSetup, v.match, v.name)
|
||||||
|
ImportXML(triggerXML)
|
||||||
|
end
|
||||||
|
|
||||||
|
json = require 'json'
|
||||||
|
socket = require 'socket'
|
||||||
|
url = require 'socket.url'
|
||||||
|
http = require 'socket.http'
|
||||||
|
|
||||||
|
chatID = <your chat ID>
|
||||||
|
|
||||||
|
apiToken = "<your bot token>"
|
||||||
|
|
||||||
|
alertFormat = "https://api.telegram.org/" .. apiToken .. "/sendMessage?chat_id=%s&text=%s"
|
||||||
|
|
||||||
|
function url_encode(str)
|
||||||
|
if str then
|
||||||
|
str = str:gsub("\n", "\r\n")
|
||||||
|
str = str:gsub("([^%w %-%_%.%~])", function(c)
|
||||||
|
return ("%%%02X"):format(string.byte(c))
|
||||||
|
end)
|
||||||
|
str = str:gsub(" ", "+")
|
||||||
|
end
|
||||||
|
return str
|
||||||
|
end
|
||||||
|
|
||||||
|
function pageRequest(req, protocol)
|
||||||
|
async_ok, async = pcall(require, "async")
|
||||||
|
|
||||||
|
if async_ok then
|
||||||
|
retpage = async.request(req, protocol)
|
||||||
|
end
|
||||||
|
|
||||||
|
retval, page, status, headers, full_status = retpage:join()
|
||||||
|
retpage = nil
|
||||||
|
|
||||||
|
if status == 200 then
|
||||||
|
return page
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function sendAlert(name, line, wildcards)
|
||||||
|
for _,v in ipairs(triggerLines) do
|
||||||
|
if name == v.name then
|
||||||
|
msg = string.format(alertFormat, chatID, v.message)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
pageRequest(msg, "HTTPS")
|
||||||
|
end
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
</muclient>
|
Loading…
Reference in new issue