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
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.
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.
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.
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:
PATTERN: ^(hi|hello).*:hey # single response ^(how are you|how's it going).*:good,ok,bad # multiple possible responses
DEFAULT section provides responses that will be given if a pattern is not found. The syntax is similar to
except that each whole line is a possible response which will be chosen at random. For example:
DEFAULT: i don't understand what do you mean? i'm not sure what that means