aboutsummaryrefslogtreecommitdiff

apiobot

unix domain socket interface to irc

this program connects to an irc server and joins a predetermined set of channels. it then creates some unix datagram sockets, one for each joined channel, and listens on all of them. when a message is received on one of these sockets, it sends that message to the corresponding irc channel.

the owning group of each of the created unix sockets is set to a predetermined group, and that group is given permission to write to each of the sockets, meaning any user in that group is able to send messages to irc. there currently isn't any way to disable this.

the parameters of the irc connection, the directory into which the created unix sockets should be placed, and the group that should own them can all be configured in conf.h. the list of irc channels to join can be changed in irc.c.

compatibility

it should be posix-compatibile, though i've only tested it on linux with glibc.

running

make run, or make followed by ./apiobot.

bugs, patches, communication, contribution, community,

email anything to me at ubq323@ubq323.website.

other files

post-recieve.sh

this is the hook script i use to announce new git commits over irc, via apiobot. install it as repo.git/hooks/post-recieve. if you use it yourself, you'll probably want to customize it somewhat

webhooks.go

this go program runs a web server which can be used to provide a web interface to irc, by sending messages sent to it to one of apiobot's unix sockets. it currently does not support multiple channels and is also not very well designed.