Go to file
Luna Mendes 55f8919689 pubsub.lazy_guilds: add support for 'everyone'-type GMLs
if the everyone role can read the channel, then the member list
will be equivalent to any other list where the everyone role
can read the channel. with this in mind we can generate a "global"
member list directed only for that usecase.

 - permissions: add role_permissions
2018-11-07 04:11:17 -03:00
litecord pubsub.lazy_guilds: add support for 'everyone'-type GMLs 2018-11-07 04:11:17 -03:00
manage manage.cmd.migration: add rudimentary implementation 2018-11-06 20:46:17 -03:00
utils add invite usage 2018-09-27 23:10:30 -03:00
.gitignore add schema.sql 2018-06-16 19:25:07 -03:00
LICENSE Initial Commit 👌 😂 2018-06-15 21:59:52 -03:00
Pipfile remove quart-cors 2018-07-21 09:37:34 -07:00
Pipfile.lock remove quart-cors 2018-07-21 09:37:34 -07:00
README.md README: add migrate instructions 2018-11-06 20:49:43 -03:00
config.example.py config: s/WEBSERVER_URL/WEBSOCKET_URL 2018-07-21 17:19:57 -03:00
manage.py add manage.py 2018-11-06 17:42:27 -03:00
nginx.conf channel: add reactions blueprint 2018-11-02 18:29:07 -03:00
run.py add manage.py 2018-11-06 17:42:27 -03:00
schema.sql pubsub.lazy_guilds: add support for 'everyone'-type GMLs 2018-11-07 04:11:17 -03:00

README.md

litecord

Litecord is an open source implementation of Discord's backend and API in Python.

This project is a rewrite of litecord-reference.

Notes

  • There are no testing being run on the current codebase. Which means the code is definitely unstable.
  • No voice is planned to be developed, for now.
  • You must figure out connecting to the server yourself. Litecord will not distribute Discord's official client code nor provide ways to modify the client.

Install

Requirements:

  • Python 3.6 or higher
  • PostgreSQL
  • Pipenv
$ git clone https://gitlab.com/luna/litecord.git && cd litecord

# Setup the database:
# don't forget that you can create a specific
# postgres user just for the litecord database
$ createdb litecord
$ psql -f schema.sql litecord

# Configure litecord:
# edit config.py as you wish
$ cp config.example.py config.py

# run database migrations (this is a
# required step in setup)
$ pipenv run ./manage.py migrate

# Install all packages:
$ pipenv install --dev

Running

Hypercorn is used to run litecord. By default, it will bind to 0.0.0.0:5000. You can use the -b option to change it (e.g. -b 0.0.0.0:45000).

Use --access-log - to output access logs to stdout.

$ pipenv run hypercorn run:app

Updating

$ git pull
$ pipenv run ./manage.py migrate