IRC

From SoylentNews
Revision as of 14:38, 18 August 2014 by Juggs (talk | contribs) (→‎Bots)
Jump to navigation Jump to search

Contact chat@soylentnews.org if you are interested in working on one of these projects. Also, the IRC Page has information about getting started with IRC, and the IRC vision is worth checking out.

Who we are

IRC Team Main Page

nick

position

timezone

xlefay Co-team leader UTC+2 (CEST)
paulej72 Co-team leader UTC-4 (EDT)
Kobach Chief Bacon Officer UTC-5 (us/central)
Landon Member ?
FunPika Member UTC-4 (EDT)
juggs Member UTC+1 (BST)


Current Projects

Chat bot (Python)

  • ELIZA module that uses Futurama personalities (to match the bot's current nick)
  • Modify bot logging to match existing formats (mIRC preferably)

Services (C)

  • Single sign on against the website (coordinate with NCommander)
  • Get the web IRC to use the website's sessions to sign in

Documentation

  • Quick-Start/How-to guide for staff members (.op .topic nickserv commands etc.)

Misc bots

  • Anyone wanting to join existing bot development projects should contact the developer(s) noted below.

IRC Games

  • NerdRPG

Dependencies

  • servers
  • bots

Channels

Official channels

Channel Description Maintained by
#soylent General chat/lobby, mostly family-friendly All SoylentNews Staff
#staff Public Staff channel - Everyone's welcome to join, but messages from non-voiced are only send to the ops in the channel All SoylentNews Staff.
#editorial The home of the SoylentNews editors, here you can volunteer for duty, report typo's & ask for submission tips and the like. Editors & IRC Staff.
#dev The home of and for developers that help develop our fork of SlashCode. Development team & IRC staff.
#help This is the IRC help channel, where IRC operators and others provide help and answer any questions related to IRC you may have. IRC Staff.
#sysops This is the Sysops homefront, where most of the magic happens. We maintain the servers and services. Sysops & IRC Staff.
#wiki This is the Wiki's channel, nothing much happens here except for a bot reporting our every edit on the wiki! IRC Staff.
#irpg This is our "nerdRPG"'s (our fork of idleRPG) channel, feel free to idle along! IRC Staff.
#test Main testing chambers, feel free to test anything in here (just be friendly & be considerative) IRC Staff.

Private establishments (unofficial)

Channel Description Maintained by
## This is a channel which isn't family safe. It's mostly about bacon and stuff' team-bacon (kobach, xlefay)
# the batcave; bot testing/borking, random chaos, exec's home crutchy, xlefay
#derp aqu4bot's origin and the portal to Universe 2. Bring own peanut butter. Subsentient
#sublight Sublight's bot home ground xlefay

Bots

There are a few bots lurking in the Soylent IRC channels besides the services mentioned above.
Anyone wishing to develop bots should use #test for testing.
Please avoid flooding in private establishments and official channels (except #test).

Nick Channel(s) Trigger(s) Developer(s)/host(s) Source Tasks Usage/notes
aqu4 #
##
#Soylent
#derp
#test
$, aqu4: Subsentient http://github.com/Subsentient/aqu4bot $sr
$seen
$tell
$help
$burrito
Bender #Soylent
##
#
!
  • karma
  • todo

coffee++
!whoup
!todo stuff

ciri # arti !decide yes no maybe sometimes "could be" "won't be" "light it on fire"
exec # ~ crutchy https://github.com/crutchy-/exec-irc-bot

~weather
~define
~time

Loggie #Soylent xlefay
  • logging to logs.sylnt.us
/invite Loggie
monopoly #
#Soylent
/ (//) chromas
  • link title output
NerdRPG #irpg
  • Outputs game data
Regurgitator #rss-bot !rss juggs

Eggdrop v1.8.0+fixbotnetloop http://www.egghelp.org/files.htm
rss-synd v0.6 plugin https://github.com/eggtcl/rss-synd

  • Outputs various rss / atom feeds.
Use the !rss command to see a list of all configured feeds, then use the ! commands from the list to request a particular feed's history. Or just idle in the #rss-bot channel to see all feed outputs as they are picked up.
SedBot FoobarBazbot https://github.com/FoobarBazbot/sedbot
  • message correction
s/old/new/
nick: s/old/new/
SoylentMUD mattie_p
sublight xlefay
tama # arti
WikiRC #wiki FunPika
  • wiki changes feed

Bot projects / task ideas

  • IRCiv is currently under development for the exec bot and is intended to be a civilization-like building game played on IRC.
  • a Soylent PBC board meeting assistant script is currently under development for the exec bot, intended for minute taking and publishing on the wiki. See IRC:exec#Meeting_assistant for more details.
  • an IRC voting system. refer to IRC:exec#Proposed_IRC_voting_system for details

Sysops

IRC services are now server up on carbon.li694.22. The core IRC services as well as several bot live on this server. They are run from the sylnt user account out of /home/sylnt/.

Start and stop scripts are in the ~/bin directory. start.all and stop.all will start and stop each of the services below with the appropriate script in a proper order. start.all is also set in sylnt's crontab to start at reboot. Individual services can be stopped or started with the appropriate script stop.service or start.service where .service is replaced with the suffix listed in the table below.

The services each have a cron.service script, also in ~/bin, that monitors that the service is running and restarts it if it does not find it. This is done by monitoring the pid, set at startup, and seeing if the job is still running. cron.all is run at 5 minute intervals from sylnt's crontab as well.


IRC Services

Service

Description

Path

DNS

Ports

start/stop/cron suffex

Charybids 3.4.2 ircd services ~/charybdis irc.soylentnews.org 6667, 6697(ssl) .charybdis
Atheme Services 7.0.7 a modular IRC Services package ~/atheme-services internal only .atheme
Atheme Iris web frontend for IRC ~/atheme-iris chat.soylentnews.org 80 .iris
Bender jsonbot bot ~/.jsb internal only .bender
Loggie logging bot ~/logbot logs.sylnt.us 80 .loggie
NerdRPG local Idle RPG ~/nerdrpg internal only .nerdrpg

All of /home/sylnt/ started out as a copy from the original server xlefay setup on his systems. No new files were added to this, only certain services need to be recompiled. Source files for most of the services are found in ~/source, and copies of the original services that ran on original server are in ~/OLD. Test compiles of some of the services were moved to ~/test before bring up the current versions.

Charybdis was compiled with ./configure --prefix=/home/sylnt/charybdis/ --enable-epoll --enable-openssl --enable-ipv6 --disable-assert. Atheme was compiled with $ ./configure --prefix=/home/sylnt/atheme-services. Iris was configure by running ./compile from the ~/atheme-iris directory. The bots did not require a recompile from what was transferred from original server.

Config files were adjusted to set the proper ip addresses for the new server (both IPv4 and IPv6) and to adjust the staff who had admin access.

In addition, nginx is also installed and used to serve IRC logs and such; there's also a reverse proxy vhost present for atheme-iris. Nginx's file structure is the default as supplied by Debian & Ubuntu, meaning, that configuration files are located in /etc/nginx/ & vhosts in /etc/nginx/sites-{enabled,available}.