223 lines
4.1 KiB
XML
223 lines
4.1 KiB
XML
|
|
<?xml Version="1.0" encoding="UTF-8"?>
|
||
|
|
<!DOCTYPE muclient [
|
||
|
|
<!ENTITY interval "10" >
|
||
|
|
<!ENTITY quit_command "quit" >
|
||
|
|
<!ENTITY Connect_command "connect" >
|
||
|
|
<!ENTITY noconnect_command "NOCONNECT" >
|
||
|
|
]>
|
||
|
|
|
||
|
|
<!-- Plugin "Reconnecter" generated by Plugin Wizard -->
|
||
|
|
|
||
|
|
<!--
|
||
|
|
1. Change the entity above "interval" to be the number of seconds
|
||
|
|
between retries.
|
||
|
|
|
||
|
|
2. Change the entity above "quit_command" to be the command you
|
||
|
|
type to quit (eg. quit, QUIT, @quit or whatever)
|
||
|
|
|
||
|
|
3. Change the entity above "Connect_command" to be the command you
|
||
|
|
type to enable connection checking.
|
||
|
|
|
||
|
|
4. Change the entity above "noconnect_command" to be the command you
|
||
|
|
type to disable connection checking.
|
||
|
|
|
||
|
|
-->
|
||
|
|
|
||
|
|
<muclient>
|
||
|
|
<plugin
|
||
|
|
name="Reconnecter"
|
||
|
|
author="Nick Gammon"
|
||
|
|
id="dc8cb4a314674db813c12c90"
|
||
|
|
language="Lua"
|
||
|
|
purpose="Reconnects when disconnected"
|
||
|
|
date_written="2007-12-12 11:30:00"
|
||
|
|
requires="3.80"
|
||
|
|
version="2.0"
|
||
|
|
>
|
||
|
|
<description Trim="y">
|
||
|
|
<![CDATA[
|
||
|
|
This plugin will automatically reconnect you when you are disconnected, at a user-configurable interval (say, every 5 seconds)
|
||
|
|
]]>
|
||
|
|
|
||
|
|
Reconnecter:Help - this Help screen
|
||
|
|
|
||
|
|
&Connect_command; - enable recconnection (eg. after using &noconnect_command;)
|
||
|
|
|
||
|
|
&noconnect_command; - disable reconnection (eg. if you are leaving the PC)
|
||
|
|
|
||
|
|
</description>
|
||
|
|
|
||
|
|
</plugin>
|
||
|
|
|
||
|
|
|
||
|
|
<!-- Timers -->
|
||
|
|
|
||
|
|
<timers>
|
||
|
|
<timer name="ConnectCheckTimer"
|
||
|
|
script="OnConnectCheckTimer"
|
||
|
|
second="&interval;"
|
||
|
|
active_closed="y"
|
||
|
|
enabled="y">
|
||
|
|
|
||
|
|
</timer>
|
||
|
|
</timers>
|
||
|
|
|
||
|
|
<!-- Aliases -->
|
||
|
|
|
||
|
|
<aliases>
|
||
|
|
<alias
|
||
|
|
script="OnQuit"
|
||
|
|
match="&quit_command;"
|
||
|
|
enabled="y"
|
||
|
|
>
|
||
|
|
</alias>
|
||
|
|
|
||
|
|
<alias
|
||
|
|
script="OnConnect"
|
||
|
|
match="&Connect_command;"
|
||
|
|
enabled="y"
|
||
|
|
>
|
||
|
|
</alias>
|
||
|
|
<alias
|
||
|
|
script="OnNoConnect"
|
||
|
|
match="&noconnect_command;"
|
||
|
|
enabled="y"
|
||
|
|
>
|
||
|
|
</alias>
|
||
|
|
</aliases>
|
||
|
|
|
||
|
|
<!-- Script -->
|
||
|
|
|
||
|
|
|
||
|
|
<script>
|
||
|
|
<![CDATA[
|
||
|
|
local retry, did_quit
|
||
|
|
|
||
|
|
retry = 0 -- retry count
|
||
|
|
did_quit = false
|
||
|
|
|
||
|
|
function OnConnectCheckTimer (sName)
|
||
|
|
|
||
|
|
--
|
||
|
|
-- If currently connecting, leave it to do that ...
|
||
|
|
--
|
||
|
|
|
||
|
|
if GetInfo (107) then
|
||
|
|
return
|
||
|
|
end -- if
|
||
|
|
|
||
|
|
|
||
|
|
--
|
||
|
|
-- If currently connected, we don't need to check any more
|
||
|
|
--
|
||
|
|
|
||
|
|
if IsConnected () then
|
||
|
|
Note "World is connected, disabling disconnection check"
|
||
|
|
EnableTimer (sName, false)
|
||
|
|
return
|
||
|
|
end -- if
|
||
|
|
|
||
|
|
--
|
||
|
|
-- If deliberate quit, we don't need to check any more
|
||
|
|
--
|
||
|
|
if did_quit then
|
||
|
|
Note "Deliberate quit, disabling disconnection check"
|
||
|
|
EnableTimer (sName, false)
|
||
|
|
return
|
||
|
|
end -- if
|
||
|
|
|
||
|
|
--
|
||
|
|
-- OK, we need to Connect now ...
|
||
|
|
--
|
||
|
|
|
||
|
|
retry = retry + 1
|
||
|
|
|
||
|
|
Note ("Connecting to world, attempt # " .. retry)
|
||
|
|
Connect ()
|
||
|
|
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
function OnPluginDisconnect ()
|
||
|
|
--
|
||
|
|
-- If deliberate quit, we don't need to enable the connection check
|
||
|
|
--
|
||
|
|
|
||
|
|
if did_quit then
|
||
|
|
return
|
||
|
|
end -- if
|
||
|
|
|
||
|
|
--
|
||
|
|
-- We have been disconnected, we need to try connecting again
|
||
|
|
--
|
||
|
|
|
||
|
|
Note "Connection checker enabled"
|
||
|
|
EnableTimer ("ConnectCheckTimer", true)
|
||
|
|
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
function OnPluginConnect ()
|
||
|
|
|
||
|
|
--
|
||
|
|
-- Now we are connected, no need to keep trying to Connect
|
||
|
|
--
|
||
|
|
|
||
|
|
retry = 0
|
||
|
|
EnableTimer ("ConnectCheckTimer", false)
|
||
|
|
|
||
|
|
--
|
||
|
|
-- No deliberate quit yet
|
||
|
|
--
|
||
|
|
|
||
|
|
did_quit = false
|
||
|
|
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
function OnPluginInstall ()
|
||
|
|
DoAfterNote (1, "Connection checker installed.")
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
]]>
|
||
|
|
|
||
|
|
function OnQuit (sName, sLine, wildcards)
|
||
|
|
did_quit = true
|
||
|
|
Send ("&quit_command;") -- Send to world so it does it
|
||
|
|
Note "Deliberate quit (&quit_command;), reconnect disabled"
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
function OnConnect (sName, sLine, wildcards)
|
||
|
|
Note "Connection checker enabled"
|
||
|
|
EnableTimer ("ConnectCheckTimer", true)
|
||
|
|
did_quit = false
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
function OnNoConnect (sName, sLine, wildcards)
|
||
|
|
Note "Connection checker disabled"
|
||
|
|
EnableTimer ("ConnectCheckTimer", false)
|
||
|
|
did_quit = true
|
||
|
|
end -- function
|
||
|
|
|
||
|
|
|
||
|
|
</script>
|
||
|
|
|
||
|
|
|
||
|
|
<!-- Plugin Help -->
|
||
|
|
|
||
|
|
<aliases>
|
||
|
|
<alias
|
||
|
|
script="OnHelp"
|
||
|
|
match="Reconnecter:Help"
|
||
|
|
enabled="y"
|
||
|
|
>
|
||
|
|
</alias>
|
||
|
|
</aliases>
|
||
|
|
|
||
|
|
<script>
|
||
|
|
<![CDATA[
|
||
|
|
function OnHelp (sName, sLine, wildcards)
|
||
|
|
Note (GetPluginInfo (GetPluginID, 3))
|
||
|
|
end -- function
|
||
|
|
]]>
|
||
|
|
</script>
|
||
|
|
|
||
|
|
</muclient>
|