IRC

From SoylentNews
Revision as of 23:27, 21 July 2014 by Xlefay (talk | contribs) (→‎Sysops: added nginx section & fixed some typos.)
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

Dependencies

  • servers
  • bots

Channels

Official channels

#soylent (general chat, mostly family-friendly)

#staff (anyone welcome to join but only messages from voiced nicks will appear)

#editorial

#dev

#help (irc help)

#sysops

#test (mainly for bot testing)

#wiki

Private establishments (unofficial)

## (kobach)

#derp (Subsentient)

# (crutchy)

#sublight (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).

Bender

SedBot

Developer(s): FoobarBazbot

https://github.com/FoobarBazbot/sedbot

lurks in #soylent, ##, etc

s/old/new/
nick: s/old/new/
weatherbot location
<crutchy> weatherbot melbourne australia
 <SedBot> weather for Melbourne Regional Office, VIC, Australia: 1023.50 mbar, 60.4F/15.8C/288.9K
 <SedBot> wind mph / 0kph / 0m/s, 0 degrees

using sedbot:

TERMINAL 1:

sudo apt-get install ii gawk
mkdir ~/irc
wget https://raw.githubusercontent.com/FoobarBazbot/sedbot/master/sedbot.awk -O ~/irc/sedbot.awk
# on line 11 of the awk file, replace "/sedbotirc/irc.sylnt.us/#soylent/in" with "~/irc/irc.sylnt.us/#soylent/in"
ii -s irc.sylnt.us -p 6667 -n SedBot2 -f SedBot2

TERMINAL 2:

echo "/j #soylent" > ~/irc/irc.sylnt.us/in
tail -Fn1 ~/irc/irc.sylnt.us/#soylent/out | ~/irc/sedbot.awk outfile=~/irc/irc.sylnt.us/#soylent/in

Loggie

Developer(s): xlefay

SoylentMUD

Developer(s): mattie_p

aqu4

Developer(s): Subsentient

lurks in ##, #derp, etc

$sr text # echoes "txet" (reverse of text)
$burrito

...etc

sublight

Developer(s): xlefay

exec

IRC SCRIPT EXECUTIVE

Developer(s): crutchy

See the exec page for details.

Example usage:

~sed on|off
~weather location
~weather-add code location
~time location

WikiRC

Developer(s): FunPika

Outputs the wiki's recent changes into #wiki.

Regurgitator

Developer(s): juggs

Hangs out in #rss-bot outputting feed links.

ciri

Developer(s): arti

!decide yes no maybe sometimes "could be" "won't be" "light it on fire"

monopoly

Developer(s): chromas

Outputs the title of a URL, amongst other things.


NerdRPG

Outputs game data in the #irpg channel.

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