Stories
Slash Boxes
Comments

SoylentNews is people

Log In

Log In

Create Account  |  Retrieve Password


github irc feed

Posted by crutchy on Saturday October 11 2014, @10:37PM (#722)
0 Comments
Code

There is now a feed set up in the #github channel on SoylentNews IRC for reporting push, pull and issue events for SoylentNews/slashcode, and push events for some other SN user and staff repos.

The feed works by querying GitHub API URLs every 15 minutes.

--
http://sylnt.us/exec

exec irc bot

Posted by crutchy on Tuesday September 30 2014, @02:50PM (#695)
0 Comments
Code

moved nick tracking inside bot process cos i was having all sorts of grief trying to make it work the way i wanted in a separate script. seems to work pretty smoothly now, and i don't need to worry about pausing/unpausing the socket reader.

starting fidgeting with irciv again now that i got some reliable generic authentication features. trying to consolidate all actions into a single alias and get player authentication back up.

event response is a bit more readily available to scripts with event handler registration. the bot keeps track of command/handler pairs in an encoded bucket, and on various events the register is queried and any handlers that exist are executed. this opens up possibility to have the bot trigger a script on an event without using the exec.txt file, and as the register is a bucket it can also be edited from within irc. will have to think about what sort of security risks this might pose, but ability to manually edit buckets is limited to privileged users so not overly worried. irciv will register event handlers on startup to manage player tracking, which was formerly done in cmd.php (eventually want to remove cmd.php, to be replaced with registered event handlers in startup.php). some templates are supported in event handlers; %%nick%%, %%trailing%%, %command%% and %%params%%, which are replaced with actual values when the handled event occurs

a little SN funding feed has been enabled. polls home page slashbox every 15 mins. message appears in #soylent if funding amount increases

comment feed has been changed to use simpler xml feed and only top 20 articles are scraped, as i found the latter 30 articles never got that many comments (assuming probably cos they fall off the SN front page). /join #comments

--
http://sylnt.us/exec
https://github.com/crutchy-/exec-irc-bot

exec nick tracking

Posted by crutchy on Sunday September 07 2014, @02:02PM (#652)
0 Comments
Code

exec now has a basic nick tracking script that hooks the join, nick, quit, kick, part and 353 events. this feature is similar but nowhere near as complete as xchat's (or $insert_client_here's) user list.

it has lead to the addition of internal stdout commands for retrieving a space-delimited listing of bucket indexes, and commands for pausing and unpausing the processing of irc data, to prevent corruption of bucket data that might occur due to multiple processes triggered by irc events trying to read/write to the same bucket(s) simultaneously.

http://sylnt.us/exec#Buckets

nick tracking enables scripts to find out what nicks are in a given channel or what channels a given nick are in. currently only channels shared with the bot are tracked, but with additional event hooks (such as a whois 319 numeric) additional channel info can be tracked.

with proposed addition of whois account querying (330 numeric) by the user tracking script, other scripts will be able to authenticate instructions with a simple function call.

the irciv script was originally designed with player authentication using the 330 nickserv account numeric. however it was messy, with irciv-specific code sprinkled throughout the main event handling script (cmd.php). the generalized tracking system will give all scripts access to the same user data via a small set of lib functions.

--
http://sylnt.us/exec
https://github.com/crutchy-/exec-irc-bot

irc comment feed

Posted by crutchy on Monday September 01 2014, @02:28PM (#630)
2 Comments
Soylent

if you're chatting away on soylent irc (irc.sylnt.us) check out #comments for a SoylentNews comment feed

the feed is based on the last 50 articles in the atom feed, and is updated every half hour

also highlights score 5 comments

examples:

<exec> *** new comment: Anonymous Coward (Score:0) "Microsoft Defies US Court Order, Will Not Give-up Emails" - http://soylentnews.org/comments.pl?sid=3678&cid=88065 (parent: http://soylentnews.org/comments.pl?sid=3678&cid=87969)

<exec> *** score 5 comment: Anonymous Coward for article "Microsoft Defies US Court Order, Will Not Give-up Emails" - http://soylentnews.org/comments.pl?sid=3678&cid=87971

proposed features include opt-in personalized feeds (to pm) with score threshold and other settings

suggestions/criticism/feedback/etc is always welcome

--
https://github.com/crutchy-/exec-irc-bot/blob/master/scripts/comment_feed.php

exec update

Posted by crutchy on Wednesday August 20 2014, @02:43PM (#590)
0 Comments
Code

~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.

exec update

Posted by crutchy on Wednesday August 13 2014, @01:03PM (#574)
0 Comments
Code

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 / SedBot2

Posted by crutchy on Tuesday July 22 2014, @11:07AM (#550)
0 Comments
Code

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

exec (irc bot) update

Posted by crutchy on Sunday July 20 2014, @12:25PM (#547)
0 Comments
Code

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

exec (irc bot) new feature

Posted by crutchy on Saturday July 12 2014, @08:00AM (#536)
0 Comments
Code

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

irc sed

Posted by crutchy on Wednesday July 02 2014, @10:53AM (#518)
0 Comments
Code

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.