Go to file
Luna Mendes da8b049174 channel.messages: add permission checks
this commit only adds permission checking to most parts of the
message endpoints.

 - channel.messages: fix extract_limit's default param
 - channel.messages: check send_messages, mention_everyone, send_tts_messages
 - channel.messages: check manage_messages
 - blueprints.checks: add guild_perm_check, channel_perm_check
 - errors: add error_code property, change some inheritance
 - permissions: fix base_permissions
 - storage: fix get_reactions
 - storage: remove print-debug
 - run: use error_code property when given
2018-11-04 19:55:21 -03:00
litecord channel.messages: add permission checks 2018-11-04 19:55:21 -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 pubsub: add lazy_guild 2018-10-19 19:16:29 -03:00
config.example.py config: s/WEBSERVER_URL/WEBSOCKET_URL 2018-07-21 17:19:57 -03:00
nginx.conf channel: add reactions blueprint 2018-11-02 18:29:07 -03:00
run.py channel.messages: add permission checks 2018-11-04 19:55:21 -03:00
schema.sql storage: add Storage.get_reactions 2018-11-02 22:07:32 -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

# 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