Implementation of RFC 865: Quote of the Day Protocol.

Jaidyn Levesque 2d125a626f Update to new facilservil 3 weeks ago
qotd_sets 6eabfa252e Updated quotes 1 year ago
src 2d125a626f Update to new facilservil 3 weeks ago
COPYING.txt 404d4201aa Use :NIH functions 1 year ago
README.txt 404d4201aa Use :NIH functions 1 year ago
qotdd.asd 2d125a626f Update to new facilservil 3 weeks ago
qotdd.lisp 2d125a626f Update to new facilservil 3 weeks ago

README.txt

================================================================================
QOTDD : `Quote of the Day Daemon` A QOTD server for nerds
================================================================================

QOTDD is an implementation of RFC 865: the Quote of the Day Protocol.
It's simple, really:
* User connects to server with raw TCP connection
* Server sends back today's quote
* User smiles
* Server disconnects user

Heck, QOTDD even comes with a couple quote files for you to start with!

Tested on GNU CLISP. <3



----------------------------------------
USAGE
----------------------------------------
To start QOTDD, just fire up your Lisp interpreter, load :qotdd, and run it!

[1]> (ql:quickload :qotdd)
[2]> (qotdd:server :path "/usr/games/qotdd/2018"
:host "127.0.0.1"
:port "1117")

This assumes that you can load :qotdd with Quicklisp
(https://beta.quicklisp.org/), and that you've installed the defaults QOTD
sets (in "./qotd_sets/") to "/usr/games/qotdd/".

To use Quicklisp to load QOTDD, just install it (https://beta.quicklisp.org/),
then put QOTDD in `~/quicklisp/local-projects/`.

The dependencies of QOTDD are NIH, a general-bleh library I've written-- which
can be found at `https://git.eunichx.us/nih/`-- and USOCKETS, which can be
installed from Quicklisp as `:usockets`.


File Format
--------------------
The file-format of QOTDD quote sets is *exactly* like the format BSD fortune
uses-- that is, a single text-file with several "%" seperated sections.
Well, there is *one* difference to the BSD fortune format-- that is, at some
point in each section, there should be a specified date, using this format:
":Date YYYY-MM-DD"

That listing is how QOTDD determines which quote to pick for which day.
If there is no quote for today, then QOTDD picks a random quote (so, I guess,
if you used a Fortune file, you could use QOTDD as a simple random-fortune
server!).

Here's an example:


QOTDD File Example
====================

:Date 2018-09-06
"Hi there."
-- Literally Everyone
%
:Date 2018-09-07
"How are you?"
-- Me
%
:Date 2018-09-08
"Eat yourself."
-- Dad
%

====================
Example End



----------------------------------------
BORING STUFF
----------------------------------------
License is in COPYING.txt (GNU GPLv3~! <3)
Author is Jaidyn Ann
Sauce is at https://git.eunichx.us/qotdd