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.
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.
To quickly provision a postgresql database to work against, run:
docker-compose up -d
And use the corresponding connection string in config:
:yetibot-db-url "postgresql://yetibot:yetibot@postgres:5432/yetibot"
Yetibot runs an embedded nREPL server on port 65432
. Connect to it via:
nrepl://localhost:65432
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 served by yetibot.core's Ring server. A public example
can be seen at public.yetibot.com.
To update to the latest version run:
./bin/yetibot-dashboard
This downloads the lateset yetibot-dashboard
from NPM, extracts it, copies the
build into resources/public
then creates a git commit with the changes.
View the CHANGELOG.
Copyright © 2013–2019 Trevor C. Hartman
Distributed under the Eclipse Public License version 1.0.