Liking cljdoc? Tell your friends :D


Build Status CrossClj

Core Yetibot utilities, extracted for shared use among Yetibot and its various plugins. yetibot.core is not meant to be run standalone, but instead used as a dependency from another project that provides config and optionally other Yetibot plugins, private or public.

The majority of Yetibot commands live in the main Yetibot repo.

Changes in 0.4.0

0.4.0 decomplects mutable and immutable configuration in a non-backward-compatible way. Please see CONFIGURATION docs and port your existing config to the new structure.


You can depend on this library to build your own Yetibot plugins. Building your own commands is dead simple. Here's an example command that adds two numbers:

(ns mycompany.plugins.commands.add
  (:require [yetibot.core.hooks :refer [cmd-hook]]))

(defn add-cmd
  "add <number1> <number2> # Add two numbers"
  [{[_ n1 n2] :match}] (+ (read-string n1) (read-string n2)))

(cmd-hook #"add" ; command prefix
          #"(\d+)\s+(\d+)" add-cmd)

See Yetibot's own commands for more complex and diverse examples.

Remote REPL

Yetibot runs an embedded nREPL server on port 65432. Connect to it via:


Or replace localhost with the remote network address.


yetibot-dashboard is an NPM module that contains static HTML/JS/CSS for the Yetibot dashboard. It's used by yetibot.core via lein-npm and served by yetibot.core's Ring server. A public example can be seen at

To update to a newer version:

  1. Bump the yetibot-dashboard dep in project.clj
  2. Run lein deps
  3. Commit the updated package-lock.json


Change Log



Copyright © 2013–2019 Trevor C. Hartman

Distributed under the Eclipse Public License version 1.0.

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close