Port of RubyServ to IIRC
Find a file
2023-01-23 18:03:59 +00:00
Containerfile Initial commit 2022-05-19 01:44:05 +01:00
eval.rb Fix eval timeout 2023-01-23 18:03:59 +00:00
LICENSE Initial commit 2022-05-19 01:44:05 +01:00
main.rb Fix eval timeout 2023-01-23 18:03:59 +00:00
README.md Fix typo in README.md 2023-01-22 02:17:53 +00:00
shell.rb Initial commit 2022-05-19 01:44:05 +01:00

RubyServ-IIRC

This is a port of RubyServ to IIRC. It is an IRC bot that allows evaluation of arbitrary Ruby expressions and shell commands. You should run it in a container and/or VM as it has no sandboxing.

Configuration

Environment variables and Redis keys are used for configuration.

Limitations

The following things are currently not configurable but may be in the future:

  • When connecting to an IRC server, TLS is always used but the certificate is not verified.
  • Only opers can use the bot. The server must support solanum.chat/oper or letspiss.net/hiddenoper.

Environment variables

  • IRC_HOST: Host of IRC server to connect to, default: localhost.
  • IRC_PORT: Port of IRC server to connect to, default: 6667.
  • IRC_NICK: The bot's nick, required.
  • IRC_USERNAME: The bot's username, default: the nick.
  • IRC_REALNAME: The bot's realname/gecos field, default: the nick.
  • IRC_JOIN: Channels to autojoin, concatenated with autojoin.channels.

Redis keys

  • eval.prefix (string): Prefix for evaluation of Ruby expressions, default: ] .
  • eval.prefix.shell (string): Prefix for evaluation of shell commands, default: $ .
  • ircv3.capabilities (list): Additional IRCv3 capabilities to request on connection and CAP NEW.
  • autojoin.channels (list): Channels to autojoin, concatenated with IRC_JOIN.