craig /

Filename Size Date modified Message
1.6 KB
A bit more info on what has to be compiled.
10.0 KB
Adding the "power" self extractor, with associated "fat" ffmpeg.
935 B
Don't be TOO urgent to relaunch Craig on a crash.
7.6 KB
I grow weary of uncaught exceptions.
88 B
Made graceful-restart far more, well, graceful by embedding it into a launcher which manages all the processes.
3.1 KB
Moving Drive integration into the database, and including its web page in this repo.
579 B
Switch guild membership status to a database.
4.7 KB
Moving Drive integration into the database, and including its web page in this repo.
4.7 KB
We've been recording so long, we need to split the total recording time into YEARS!
Craig is a multi-track voice recorder for Discord. Craig is divided into three
components: The actual recording bot, the web page (for downloading
recordings), and the audio processing scripts.

The recording bot is craig.js. It is a Node.js application written with
the Eris Discord library. For historical reasons it uses the sharding manager
from discord.js. Its dependencies can be installed with `npm install`. In
principle the recording bot works fine without the other components, but the
audio files it produce aren't really usable without processing.

The web page is in PHP (yuck), but otherwise has essentially no dependencies.
The "other formats" feature, which performs audio processing in the browser,
requires ffmpeg.js. The patch for ffmpeg.js to build it with the required
modules is in ffmpeg-js-craig.diff. ffmpeg.js should be built to

The audio processing scripts require the following command-line tools:

ffmpeg ( ) compiled with libopus support
flac ( )
oggenc ( )
opusenc ( )
fdkaac ( )
zip and unzip ( )

Various components of the audio processing scripts require compilation or
cd cook
for i in *.c; do gcc -O3 -o ${i%.c} $i; done
for i in *.svg; do inkscape -e ${i%.svg}.png $i; done

No documentation is provided for running your own instances of Craig. More
information on the main instance of Craig can be found at