kittens
Kittens is an IRC bot written in Go. I just recently started rewritting kittens in Go, so it lacks a lot of features currently. If you think you can help, please feel free to contribute!

Building
0. Before You Build
Make sure you have Go installed. In order to compile the LESS/JS the preferred way is to use Gulp. To install Gulp you need to have NPM installed. Once you have NPM installed you can install Gulp via NPM:
npm install -g gulp
Once everything is installed make sure you have set your $GOPATH properly, or it will prove difficult to build.
1. Get the Code
Start by cloning the repository and getting all the dependencies.
git clone https://github.com/lukevers/kittens
cd kittens
go get
2. Build LESS/JS
Before we can run Gulp we need to make sure we install all of the necessary modules:
npm update
Building our webserver CSS/JS files is easy with Gulp.
gulp
When developing you can run gulp watch
instead of running gulp
every time you make changes.
If you'd rather use your own way of compiling LESS to CSS and concating all the CSS files into one file and JS files into one file, feel free. You can checkout gulpfile.js
in the root of the directory to find out where these files are located and where they end up.
3. Build the Source
go build
Flags
Debug
--debug
By including the debug flag, Kittens will do the following:
- Recompile webserver templates on each page load
- Provide verbose stdout output
By default, Kittens sets debug to false
. This is a good option when developing Kittens.
Webserver Port
--port [port]
By including the webserver port flag you can change the port that Kittens webserver listens on by default. By default Kittens webserver listens on port 3000
.
Webserver Interface
--interface [interface]
By including the webserver interface flag you can change the interface that Kittens webserver binds to by default. By default the Kittens webserver binds to the interface 0.0.0.0
.
Database Driver
--driver [driver]
By including the database driver flag you can change the type of database that we are connecting to. By default Kittens uses sqlite3
as the default driver because Kittens uses a SQLite3 database as default. If you change the database driver, you need to change the database connection details or it will not work.
Kittens supports SQLite, MySQL, and PostgreSQL. To see how to use the database driver flag with the database flag, read the information on the database flag.
Database
--database [connection]
By including the database flag you can change the connection details that we use. By default Kittens uses kittens.db
as the database to connect to. If you change the database, you need to change the database driver or it will not work.
Kittens supports SQLite, MySQL, and PostgreSQL. The full list of options for database connection details can be found on each's website respectively. Here is an example for each:
SQLite
--driver sqlite3 --database /etc/kittens.db
PostgreSQL
--driver postgres --database "user=username dbname=kittens sslmode=disable"
MySQL
--driver mysql --database "username:password@tcp(host:port)/database"
If ?parseTime=true
is not included in the database string when connecting to a MySQL database, Kittens will automatically add it before trying to connect. It is needed in order for Kittens to work properly.
Screenshots
Login

Settings

New Bot/Server

Server Connecting

Server Connected

Home
