Port of RubyServ to IIRC
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ron Nazarov 835db8a1d3
Initial commit
1 month ago
Containerfile Initial commit 1 month ago
LICENSE Initial commit 1 month ago
README.md Initial commit 1 month ago
eval.rb Initial commit 1 month ago
main.rb Initial commit 1 month ago
shell.rb Initial commit 1 month ago

README.md

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