a barebones chat bot engine
f51239a8 — Ben O'Neill 3 months ago
add some documentation
a084c14f — Ben O'Neill 3 months ago
use prefix /usr/local
5b698ff3 — Ben O'Neill 1 year, 2 months ago
Copy scripts/*, not scripts/


browse  log 



You can also use your local clone with git send-email.


A non-learning chat bot which consists of a backend written in like 200 lines of C.


$ make # build
$ make install # install


$ # after building, run the example bot configuration
$ ./jules scripts/texting.jul
$ # if you installed it, you can execute the example file itself:
$ ./scripts/texting.jul

#Custom Bot Configurations

There are four sections in a configuration file. These are "NAME", "START", "PATTERN", and "DEFAULT". These are terminated by the beginning of the next section or by the end of file.


The NAME section gives the bot a name. Whenever the bot responds, the value of NAME will be shown in the prefix of its response. For example, a bot named "Alice" would respond in this format:

Alice: this is my message

The syntax for this section is simple.



The START section describes the initial message the bot will send when started. You could say it is their greeting. The syntax is the same as NAME.



The PATTERN section dictates which response will be given based on a regular expression. These are POSIX extended regular expressions, which can be referenced in the regex(7) manual page. Each line represents a pattern and the comma separated response(s) that should be given (if there are multiple one will be chosen at random). For example:

^(hi|hello).*:hey # single response
^(how are you|how's it going).*:good,ok,bad # multiple possible responses


The DEFAULT section provides responses that will be given if a pattern is not found. The syntax is similar to PATTERN, except that each whole line is a possible response which will be chosen at random. For example:

i don't understand
what do you mean?
i'm not sure what that means