Skip to content
This repository has been archived by the owner on Aug 28, 2020. It is now read-only.

esnya/nekochat

Repository files navigation

Nekochat

Build Status Coverage Status PeerDependencies Dependencies DevDependencies

Screenshot

Web chat application for tabletop role-praing game.

  • The master branch is unstable. Basically, it works successfully, but have not been fully tested.
  • To get stable releases, checkout version tags (i.e. $ git checkout v1.3.0).

Commands

Fluorite5: Dice script interpreter

You can send message with Fluorite5 script sabdwitched with \.

e.g.

  • \2d\ -> 2d=10
  • \10*2-4\ -> 16
  • \(1,2,3).sum()\ -> 6
  • \(1~3).sum()\ -> 6

Extend Fluorite5

Place Fluorite5 script files into fluorite-mods directory. (e.g. fluorite-mods/sw2-simple.flu5)

[deprecated] Dice roll

You can roll the dice on the command in the message.

e.g.

  • 2d6=
  • 1d100=
  • 2d+3=
  • 2d+2-1=

Whisper message

You can send a whisper messages to start from @user_id.

e.g.

  • @alice This message will be displayed only in alice

Changelog

See CHANGELOG.md

Requirements

  • Node.js 5.x and npm
  • SQL Database
    • SQLite3 (Default)
    • MySQL
    • etc... (See also: Knex.js)
  • Redis Server
  • Nekoproxy [optional]
    • Required to enable Twitter authentication.

As a Docker Container

Config

$ vi /path/to/nekochat/config.yml
$ cat /path/to/nekochat/config.yml
app:
    secret: <any secret value>
redis:
    host: redis

Run

$ docker run -d --name redis redis
$ docker run -d --name nekochat -p 80:80 --env NODE_ENV=production --link redis:redis -v /path/to/nekochat/config.yml:/usr/src/app/config/local.yml:ro nekorpg/nekochat

Add an option -v /path/to/nekochat/tmp:/usr/src/app/tmp to docker run to perpetuate SQLite3 database.

As a Node.js application

Build

$ git clone --recursive https://github.com/ukatama/nekochat.git
$ cd nekochat
$ npm install
$ npm run build

Config

You should set the value of app.secret.

$ vi config/local.yml
$ cat config/local.yml
app:
    secret: <any secret value>

Run

$ npm start

Config

Edit config/local.yml.

Default values are specified by config/default.yml and config/production.yml See also node-config abtout the configuration system.

Key type descrption
name string Name of the application instance.
app.guest boolean Set true to allow guest login.
app.livereload boolean Set true to enable livereload scrpit to develop.
app.secret string Secret value for sessions.
browser.debug boolean Set true to enable client debugging mode.
browser.feedback_form string Set URL for google form or false to disable.
database.default object Default database configurations. See also Knex.js.
database.session object Session database configurations. This is only used session.store is set to database.
redis object Redis client (createClient()) configuratios. See also node_redis#redis.createClient()
server.host string Host address to bind.
server.port number Port number to bind.
session object See also express-session
session.store string Type of session store. database or redis
data_cleaner object Configurations for old data cleaner
data_cleaner.file object Configurations for old file cleaner
data_cleaner.room object Configurations for old room cleaner
data_cleaner.*.enabled boolean Enable cleaner
data_cleaner.*.interval string Watch interval (ISO 8601 Duration)
data_cleaner.*.soft string To soft remove the old ones than this value (ISO 8601 Duration)
data_cleaner.*.hard string To hard remove the old ones than this value (ISO 8601 Duration)
file object File uploading
file.types array MIME types of the file to be allowed to uploading
file.maxSize number/string Maximum file size to be allowed to uploading

License

MIT License

About

Web chat application for tabletop role-praing game.

Resources

Stars

Watchers

Forks

Packages

No packages published