Cinch IRC bot written with plenty of help. I will not claim any of the plugins And will try to get the correct credits in source


Zeta requires ruby >= 2.5.0 and rubygems. Installation beyond that is simple


  • gem install zetabot
  • zetabot

Plugins All plugins are automatically loaded that are in the plugins directory



  • git pull
  • bundle
  • update config files to new examples
  • ruby ./migrate.rb
  • ruby ./zeta.rb


roles: owner,admin,operator,halfop,voice,nobody prefix: ?


Channel ** Role Required: admin/owner **

  • ?join (#channel) - admin
  • ?part (#channel) - admin
  • ?quit (#channel) - owner

Plugins ** Role Required: admin **

  • ?plugin load (plugin)
  • ?plugin unload (plugin)
  • ?plugin reload (plugin)
  • ?plugin set (plugin)

Developer ** Role Required: owner **

  • ?die (msg) // Kills the bot
  • ?e code // (alias: eval) Evaluate command
  • ?em code // (alias: eval) Evaluate command send in msg
  • ?er code // (alias: evalreply) Evaluate command and send to channel

Ignore ** Role Required: operator **

  • ?ignore (user)
  • ?unignore (user)

Channel ** Role Required: operator **

  • ?disable (channel) // can omit channel to use current
  • ?enable (channel) // enalbed a channel that has been disabled

Access ** Role Required: voice **

  • ?setaccess (user) (level) // Levels: nobody,voice,halfop,operator,admin,owner,founder
  • ?access (user) // Show current access level

Uptime ** Role Required: admin **

  • ?uptime // Bot uptime
  • ?sysuptime // grabs the uptime from current system
  • ?users // shows users currently logged into shell


Macros are prefixed by a period and are loaded from locales/macros.yml example. typing in ".dnf" in channel will cause the bot to respond with "Duke Nukem Forever came out. Your argument is invalid."


Zeta will open a named pipe under bot/zeta.io messages sent to this pipe will be directly sent to the irc server



  • ?calc (query) - Returns a wolframalpha solution
  • ?wiki (term) - Returns a wikipedia entry

Code Runner

  • ?run (lang) (code)
  • ?langs - lists all of the languages that are supported


  • ?seen (user)


  • ?attack (target)
  • ?info (plugin)
  • ?fnord
  • ?xmas - days till christmas
  • ?mayan - current day in the mayan calendar
  • ?newyear - days until new years
  • ?heavymetalise (message) - styles the vowles of the text
  • ?rainbow (text) - colorizes your text
  • ?eyerape (text) - even worse then rainbow
  • ?rr (nick) - Play a game of Russian Rullete
  • ?fml - Returns a "F*ck My Life"


  • ?randomgif - grabs a random gif from gifme
  • ?gif (term) - returns the best match from gifme


  • ?movie (movie name) :year - the year is optional but must be prefixed with a colon

Urban Dictionary

  • ?ud (definition) - returns a definition
  • ?wotd - World of the day


  • ?w (location)
  • ?wx (location)
  • ?setw (location) - Sets your current location so the bot will remember if you do ?w
  • ?hurricane - gets current hurricane activity
  • ?forecast (location)

PDF Info This plugin grabs the metadata from a pdf that is linked in channel

DBZ responds when you say certain keywords

Network Specific Plugins

FlagRun Networks

URL Grabber Grabs metadata from url in channel



  • ?finger (nick) - pulls nickname information from the DarkScience API
  • ?stats (nick) - pulls statistics information for a nick from the DarkScience API
  • ?peek (channel) - pulls channel information from Darkscience API


  • ?addquote (text) - submits quote to DarkScience API
  • ?quote (id) - grabs the quote matching that ID for the specific channel
  • ?quote - grabs random quote for channel

LibSecure ** only works in #libsecure channel **

  • ?latest - grabs the latest post from libsecure