~help <alias>
gets first 3 lines from section of this wiki page: http://wiki.soylentnews.org/wiki/IRC:exec_aliases
followed by a url
~staff meeting
outputs paragraph in site news slashbox containing the word "meeting", with paras delimited by <br>
scripts can call lib.php function bot_ignore_next() to set a flag in the bot that tells it to ignore the next message, which is useful if outputting aliases that you don't want to be processed (such as for ~help)
~count <nick>
counts number of privmsgs in channel. also indicates over how many days and average of privmsgs per day.
some recent goings on with the exec bot that generally lurks in #Soylent channel on irc.sylnt.us:
- sed supports regex through use of preg_replace (FoobarBazbot's awk script no longer running under exec)
- reserved alias for logging script
- disabled ping script for auto-restart cos it was a disaster (i think i fixed the problem by disabling the ping until connection is established but not going to bother testing for now)
- implemented support for bucket_append messages, which allows creating lists from multiple concurrent processes without fouling each other (needed for users.php which builds lists of channels, nicks and nickserv accounts using list, who and whois irc commands)
- refined the weather script a little as a result of some feedback (thanks to those involved)
- put weather and time functions into lib files to make them accessible from a new welcome script that can (if enabled) show weather and local time on joining a channel (if your nick/location is registered using ~weather-add or ~time-add)
- created switches.php in an attempt to make enabling/disabling features on a per channel basis a little more uniform (used by sed and welcome scripts)
- script created to add suggestions to the wiki, using ~suggest (appends to a section of an article, with bullet formatting)
- added stats aliases ~first, ~last, ~find-first, ~find-last and ~count that make use of cached chat logs
- added interface for adding/editing/deleting ~define sources
- added ~killall admin command to terminate all scripts/programs running under the bot process
- admin setting to ignore/unignore nicks added
- added script start timestamp template for the exec.txt file
hoping to eventually get the nickserv account checking stuff in users.php to a point where i can use it to fix up the player authentication in irciv cos i really wanna get back into that
haf fun :D
===
https://github.com/crutchy-/test
http://wiki.soylentnews.org/wiki/IRC:exec
exec now supports a reserved <startup> alias, which at the moment executes a script that triggers a sequence of aliases related to starting SedBot(2) in #Soylent and ##.
the <startup> trigger fires when the bot attempts to identify with nickserv, and like other reserved aliases can't be triggered from irc.
my intention is to make scripts to enable easy management of the current sedbot.awk script, unless FoobarBazbot returns beforehand in which case he'll be able to take the reigns.
the advantage of the <startup> alias is that if exec is disconnected temporarily, sedbot will restart when a connection is re-established.
a test was performed by pulling the network cable out of the machine hosting exec and leaving it unplugged for a while. when the cord was eventually plugged back in, exec came back up and restarted sedbot without any intervention.
https://github.com/crutchy-/test/blob/master/irc.php
https://github.com/crutchy-/test/blob/master/irc_lib.php
bot admins now have a little more control over scripts that are executed
to see a listing of running scripts/processes:
~ps
this will generate a list in the format:
[$pid] $shellcmd
to kill a process listed by ~ps:
~kill $pid
if the bot is restarted (~restart) or quits (~q), all processes (including any children) will be killed
bot source code is here: https://github.com/crutchy-/test
if you would like to log an irc channel, you can /invite loggie.
as a backup, exec also has a logging feature.
you can /invite exec to a channel, or if you're not op, go to another channel with exec already in it and do '~join #yourchan'
then if you want to switch logging on, do '~log on'. you can switch off logging using '~log off'
logs are publicly accessible here: http://irciv.us.to/irc_logs
if you want exec to go away, do '~part' from within channel, or '~part #mychan' from any channel with exec in it
everyone uses and abuses poor ol' sedbot in irc, but currently it's only working in #soylent. its also in #test but isn't working there for some reason.
for anyone who just can't live without sedbot functionality in other channels, you can do "/invite exec" and then "~sed on" to enable (or if sedbot makes a grand entrance you can do "~sed off" to disable). if you're not a chanop, you can do "~join #chan" from any other channel with exec already in it (usually #soylent).
works similar to sedbot. doesn't do vowel replacement or regex though.
Check out http://wiki.soylentnews.org/wiki/Feeds for a trial concept in article summary development.
Thanks go to prospectacle for his ideas.
Eventually feed sources will be read from here: http://wiki.soylentnews.org/wiki/Feed_sources (currently read from a file on the bot host).
For the curious:
Bot script: https://github.com/crutchy-/test/blob/master/irc.php
Feeds script: https://github.com/crutchy-/test/blob/master/scripts/feeds.php
Wiki script: https://github.com/crutchy-/test/blob/master/scripts/wiki.php
exec has been relocated to a (usually) always on webserver, so should be available more
also has remote updating from github and remote restarting, which means i can still tinker on my laptop :-)
try this in irc for a list of supported commands that anyone can run:
~list
use ~join #chan if you would like exec to join a channel, and ~part to get it to leave. #test is the only channel that ~part won't work for.
feel free to play/test/pilfer/etc. suggestions are always welcome too.
source code here:
https://github.com/crutchy-/test
more info here:
http://wiki.soylentnews.org/wiki/IRC:exec
colored city flags implemented.
haven't completed unit attacking yet, but i've sort of got a placeholder for it in the code that occurs when a unit tries to move into another player unit coord (currently outputs a status indicating foreign unit)
https://github.com/crutchy-/test/blob/master/scripts/irciv.php#L902
also have set unit data for attack/defense strengths, and there's some notes about attacking @ http://wiki.soylentnews.org/wiki/IRCiv#Development_notes
implemented whois-based authentication of internal exec bot administration commands and also alias-specific account lists, and a ~civ-admin alias was added with an account list to allow easier administration tasks in a more secure manner.
administration tasks added as listed here: http://wiki.soylentnews.org/wiki/IRCiv#Administration_commands
will endeavor to document these a little better down the track. at this stage just trying to make sure i document added usage syntax somewhere so its not forgotten.
coming up next... finishing off attacking foreign units
====
pushed latest code to github: https://github.com/crutchy-/test
note: irciv.php and irciv_lib.php contain most of the game functionality and can be found in the scripts directory
latest web map demo here: http://irciv.port119.net/?pid=2
join the #civ channel in soylent irc
more info:
http://wiki.soylentnews.org/wiki/IRCiv
http://wiki.soylentnews.org/wiki/IRC:exec
added detection/visibility of foreign units, including updating of all player maps affected by a move.
added some map features (grid coords, city name labels, unit shields, city flags)
unit shields are colored specific to each player, but yet to color city flags
added development notes to wiki
added "wiki-todo" alias to exec
coming up next... coloring city flags & attacking foreign units
====
pushed latest code to github: https://github.com/crutchy-/test
note: irciv.php and irciv_lib.php contain most of the game functionality and can be found in the scripts directory
latest web map demo here: http://irciv.port119.net/?pid=1
join the #civ channel in soylent irc
more info:
http://wiki.soylentnews.org/wiki/IRCiv
http://wiki.soylentnews.org/wiki/IRC:exec