aboutsummaryrefslogtreecommitdiff
path: root/discord/state.py
Commit message (Collapse)AuthorAgeFilesLines
* Add custom emoji support.Khazhismel2016-07-311-0/+7
|
* Fix voice state update issue in on_voice_state_updateRapptz2016-07-231-2/+2
| | | | | | | | | Bug was caused to the shallow copy not copying over the VoiceState information embedded into the copy. This would mean that when the event is called, before and after voice state information is essentially equivalent. The solution to fix this is to also copy the VoiceState objects.
* Fix bug where discriminators would not update in PRESENCE_UPDATE.Rapptz2016-07-211-0/+1
|
* Add utility properties to CallMessage to query information.Rapptz2016-07-151-1/+1
|
* Add support for querying information about group calls.Rapptz2016-07-151-4/+29
|
* Handle adding and removal of group members.Rapptz2016-07-151-1/+16
|
* Handle private channel CHANNEL_CREATE better.Rapptz2016-07-151-2/+2
|
* Add support for different message types and call message.Rapptz2016-07-131-1/+4
|
* Handle CHANNEL_UPDATE for group direct messages.Rapptz2016-07-131-4/+14
|
* Begin working on gateway v6 changes.Rapptz2016-07-131-5/+2
| | | | | The first batch of changes are related to channel types and group direct messages. Support these first so READY begins parsing.
* Fix voice states being overwritten after a GUILD_SYNC.Rapptz2016-06-281-3/+4
| | | | | | | | | This was a two-fold problem. The first of which involved the overwriting of members during a GUILD_SYNC. Since we are requesting a chunk anyway, we have all the member references we need without actually chunking. The second problem came from the order. We were doing a GUILD_SYNC and then doing the chunking requests. We should do the GUILD_SYNC after the chunking in order to just update presences.
* Handle MESSAGE_DELETE_BULK.Rapptz2016-06-221-0/+7
|
* Support for v5 Gateway.Rapptz2016-06-221-3/+13
|
* Update positions when a role is added or removed.Rapptz2016-06-011-2/+2
|
* Add Role.server attribute.Rapptz2016-06-011-4/+3
| | | | This breaks events that expected a server parameter for the role events.
* Update voice client main ws references when reconnecting.Rapptz2016-06-011-0/+4
|
* Add RESUME support.Rapptz2016-06-011-0/+3
|
* Only trigger on_voice_state_update if the member actually exists.Rapptz2016-05-201-2/+3
|
* Fix bug where members leaving will stay in Channel.voice_members.Rapptz2016-05-201-0/+9
|
* Fix issue with Member.joined_at being None.Rapptz2016-05-101-1/+2
|
* Working multi-server voice support.Rapptz2016-05-011-0/+21
|
* Attempt to consistently sort of all Member.rolesRapptz2016-04-291-4/+3
|
* Sort member.roles by ID but keep the default role in index 0.Rapptz2016-04-291-1/+4
| | | | | This should make the events checking if `before` and `after` roles are equivalent more sane for users.
* Add support for server specific nicknames.Rapptz2016-04-291-1/+6
|
* Begin working on gateway v4 support.Rapptz2016-04-271-3/+5
| | | | | | Bump websockets requirement to v3.1 Should be squashed...
* Fix deadlock issue when joining large guilds.Rapptz2016-04-151-5/+13
|
* Handle bot tag updates in GUILD_MEMBER_UPDATE.Rapptz2016-04-121-0/+2
|
* User JSON object has 'username' keys not 'name'.Rapptz2016-04-111-1/+1
|
* Better chunking behaviour and add members on PRESENCE_UPDATE.Rapptz2016-04-111-23/+28
| | | | | | | This should hopefully cover all cases where members are added. There was a bug where an array of chunks received would get entirely processed if only a single chunk was received. This was fixed by explicitly bailing early if we're requesting for chunks.
* Fix chunk requests not actually being batched.Khazhismel2016-04-111-3/+5
|
* Proper chunking for unavailable guilds.Rapptz2016-04-101-24/+66
| | | | This will also delay on_ready until all chunking is complete.
* Fix handling of message update in MESSAGE_UPDATEZeta2016-04-051-6/+5
|
* Skip member_update event when a member is not in a guild.Rapptz2016-04-021-1/+1
|
* Change parsing of READY to be eager again.Rapptz2016-03-061-12/+14
|
* Fix bug where large servers in GUILD_CREATE did not get chunked.Rapptz2016-03-061-3/+14
|
* Move chunking logic back into ConnectionState.Rapptz2016-03-061-3/+21
| | | | | This allows for a nicer design when dealing with parsers that could end up being coroutines.
* Server.me is now a dynamic property to avoid outdated references.Rapptz2016-03-011-1/+1
|
* Do not overwrite members that are already in cache during chunking.Rapptz2016-02-171-1/+2
|
* Remove request_offline option.Rapptz2016-02-141-10/+7
|
* Update owner references when we get a chunk.Rapptz2016-02-141-0/+4
|
* Offline members are now added by default automatically.Rapptz2016-02-141-6/+54
| | | | | This commit adds support for GUILD_MEMBERS_CHUNK which had to be done due to forced large_threshold requirements in the library.
* Handle case where PRESENCE_UPDATE adds members to cache.Rapptz2016-02-131-21/+31
| | | | | | | | When we don't request offline members, members that are going from offline to online in the server will become available via the PRESENCE_UPDATE event. This should be transparent to the user since technically the member exists in the server and thus on_member_update is used instead of on_member_join.
* Add Server.member_count property for actual member count.Rapptz2016-02-131-0/+2
| | | | This will always work regardless of chunking or not.
* Fix cases where Member.roles would have a string instead of Role.Rapptz2016-02-011-1/+8
| | | | Fixes #81.
* Update the unavailable guild's data when it becomes available.Rapptz2016-01-211-3/+4
|
* Guild member add will include deaf and mute now, do not provide default valuesKhazhismel2016-01-121-1/+1
|
* Handle cases where people put False-like values for game presences.Rapptz2016-01-111-2/+2
|
* Change internal update functions to have a leading underscore.Rapptz2016-01-111-2/+2
|
* document public get_ methods and make others privateSteven Berler2016-01-081-35/+35
|
* performance improvementsSteven Berler2016-01-081-57/+76
| | | | | | | | | | | | | | | | | | | | | Replaced server member lists, channel lists, and private channel lists with dicts. This allows O(1) lookups and removes (previously it would be an O(N) operation to lookup or remove). I did pretty extensive testing and benchmarking to compare the performance of using lists vs using dicts. Iterating through lists to find an item is only faster in the average case for extremely small lists (less than 3 items). For 100 items, using a dict is about 10 times faster on average (and about 100 times faster for 1000 items). The overhead in dicts is in memory usage and initial creation time. Creating and populating a dict is about 2 to 3 times slower than creating and appending items to a list. However this cost is still tiny. For 1000 items this equates to about a 70 microsecond difference (on an i7 CPU) for populating the entire dict. The memory overhead for a dict (compared to a list) is about 25-60 KB per 1000 items (can vary depending on dict resizing). Originally I wanted to use OrderedDicts to presereve order, but in my testing OrderedDicts have about 6x the memory overhead compared to normal dicts.