diff options
author | Jamie Fraser <jamie.f@sabrienix.com> | 2010-02-03 02:24:23 +0300 |
---|---|---|
committer | Stefan Hacker <dd0t@users.sourceforge.net> | 2010-02-03 02:48:56 +0300 |
commit | a9e9922a69022d99edf70d5914d9d5f6f58a49f9 (patch) | |
tree | 2ed87465272317c0ea79979f5750db9486801e32 /scripts | |
parent | 1afffff63f4a10cf00e6d66e144a01a9052ec997 (diff) |
Added a crappy example of an auto idle-move written in PHP.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/idle.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/scripts/idle.php b/scripts/idle.php new file mode 100644 index 000000000..4a28fa5b5 --- /dev/null +++ b/scripts/idle.php @@ -0,0 +1,73 @@ +<? +# idle.php - Sample "auto-idle mover" script. Run in a cron job. +# Copyright (c) 2010, Jamie Fraser / MumbleDog/Sabrienix +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of MumbleDog/Sabrienix nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +###################################################################### +# +# NOTE WELL: This is just an example. It has no error checking, left +# out both because of my own laziness and to keep the example simple. +# Steal the implementation and put it in your own script, or just use +# as-is under the full understanding it might end the world as you +# know it. + +# "AFK" channel ID +$afk = 4; + +# Time in seconds user must be AFK to be moved +$idle = 5000; + +# Ice Server +$ice = 'Meta:tcp -h 127.0.0.1 -p 6502'; + +# Murmur ID # +$mid = 0; + +###################################################################### +Ice_loadProfile(); +$base = $ICE->stringToProxy($ice); +$murmur = $base->ice_checkedCast('::Murmur::Meta'); + +$m = $murmur->getServer($mid); + +$users = $m->getUsers(); + +foreach ($users as $u) { + printf("%s: %s\n", $u->name, $u->idlesecs); + if ($u->idlesecs > $idle && $u->channel != $afk) { + $state = $m->getState($u->session); + if ($state) { + $state->channel = $afk; + $m->setState($state); + } + } +} +?>
\ No newline at end of file |