Go to file
Luna Mendes 61e36f244b blueprints.users, channels: basic dm operations
SQL for instances:

```sql
ALTER TABLE messages
ADD CONSTRAINT messages_channels_fkey
FOREIGN KEY (channel_id)
REFERENCES channels (id)
ON DELETE CASCADE;

ALTER TABLE channel_pins ADD CONSTRAINT pins_channels_fkey
FOREIGN KEY (channel_id)
REFERENCES channels (id)
ON DELETE CASCADE;

ALTER TABLE channel_pins ADD CONSTRAINT pins_messages_fkey
FOREIGN KEY (message_id)
REFERENCES messages (id)
ON DELETE CASCADE;
```

After that, rerun `schema.sql`.

blueprints.channels:
 - check dms on channel_check
 - add DELETE /api/v6/channels/<int:channel_id>

blueprints.users:
 - add event dispatching for leaving guilds
 - add GET /api/v6/users/@me/channels, for DM fetching
 - add POST /api/v6/users/@me/channels, for DM creation
 - add POST /api/v6/users/<int:user_id>/channels for DM / Group DM
    creation

 - schemas: add CREATE, CREATE_GROUP_DM
 - storage: add last_message_id fetching for channels
 - storage: add support for DMs in get_channel
 - storage: add Storage.get_dm, Storage.get_dms, Storage.get_all_dms
 - schema.sql: add dm_channel_state table
 - schema.sql: add constriants for messages.channel_id and channel_pins
2018-10-03 21:49:35 -03:00
litecord blueprints.users, channels: basic dm operations 2018-10-03 21:49:35 -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 add invite usage 2018-09-27 23:10:30 -03:00
config.example.py config: s/WEBSERVER_URL/WEBSOCKET_URL 2018-07-21 17:19:57 -03:00
nginx.conf add sample nginx.conf 2018-07-06 03:31:12 -03:00
run.py relationship support! 2018-10-02 03:43:57 -03:00
schema.sql blueprints.users, channels: basic dm operations 2018-10-03 21:49:35 -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.

Install

  • 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