- 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()
- gateway.websocket: merge get_guild and get_guild_extra
- gateway.websocket: only apply too many shards close when
guilds > 2500
- storage: detach state usage
- storage: fix large calc on get_guild_extra
Storage serves as a way to reduce code repeatbility. So that we
don't need to keep repeating the same SQL statements over and over,
and to detach some SQL calls into their own code (like guild fetching)
- gateway.websocket: add WebsocketObjects to hold db, state_manager,
storage and loop
- gateway.websocket: add _make_guild_list
- schema: add members.deafened, members.muted