users can now join guilds!
invites:
- add GET /api/v6/invites/<invite_code>
- add DELETE /api/v6/invites/<invite_code>
- add GET /api/v6/guilds/<guild_id>/invites
- add GET /api/v6/channels/<channel_id>/invites
- add POST /api/v6/invite/<invite_code>
storage:
- add verification_level to invites
- add empty invite.guild.features
gateway.state_manager:
- add StateManager.user_states
- give a dummy offline state on guild_states
- this makes it possible for people to see offline members even when
those members never logged in (since the would have no state being
reffered to them)
- gateway.websocket: use get_member_ids on lazy guild handler
- auth: add GET /api/v6/auth/consent-required
- dispatcher: add dispatch_user_guild and dispatch_user
- run: use Origin header on Access-Control-Allow-Origin
- handle BadRequest instead of passing raise_err=False
- handle status.activities
- ready: call update_status BEFORE subscribing and dispatching_ready
presence:
- better presence object on guild_presences
schema:
- handle activities, change required to false in game
Lots of changes to get it working.
One day changes will be able to be small enough to be split across
commits.
- enums: use enum.Enum, make EasyEnum subclass
- enums: add ActivityType, ActivityFlags, StatusType
- gateway.state: use 128 random bits instead of 256
- gateway.state: add MAX_STORE_SIZE in PayloadStore and check it when
adding a new payload
- gateway.websocket: add GatewayWebsocket.update_status
- presence: add PresenceManager.dispatch_guild_pres and
PresenceManager.dispatch_pres
- schema: add snowflake, activity_type, status_external types
- schema: add GW_ACTIVITY, GW_STATUS_UPDATE
- storage: fix _channels_extra and fixes for ChannelType as enum instead of
class
- state_manager: add StateManager.guild_states
- add PresenceManager in the presence module
- fix get_user_guilds not returning ints
- gateway: add dummy handler for op 4
- gateway: add hazmat implementation for op 14
- run: keep websockets logger on INFO
- run: add more headers on app_after_request
This reverts commit cb70842280.
WEBSERVER_URL was made for the case where litecord is behind
a reverse proxy (nginx / cloudflare, etc). If the instance
isn't behind a reverse proxy, you can set WEBSERVER_URL to your
own local address.
It is clunky when sending messages as Atomic, nor we have proper channel
management, but it works.
- dispatcher: add sub_many
- errors: add failsafe on LitecordError.message
- errors: add ChannelNotFound
- gateway.websocket: add dispatcher to WebsocketObjects
- schemas: add regexes for mentions
- storage: add get_channel, get_message
- gateway.state: add PayloadStore
- state: add last_seq
- gateway.websocket: send string on non zlib-stream
- gateway.websocket: add cleanup of state on ws close
- gateway.websocket: add user_ready function
- storage: add guild_id by default on member roles
- storage: add get_role_data
- schema.sql: change default color from 0 to 1
With this comment we have a proper READY event that can be
successfully parsed by discord.py! hooray for progress!
- gateway.websocket: add dummy handler for op 1
- gateway.websocket: change op 0 to op 2
- storage: fix 'None' strings on channel IDs
- run: use logbook.compat.redirect_logging()