aboutsummaryrefslogtreecommitdiff
path: root/discord/member.py
Commit message (Collapse)AuthorAgeFilesLines
* Drop superfluous zero in version related changes in the documentationRapptz2020-01-211-3/+3
|
* Bump copyright year to 2020Rapptz2020-01-191-1/+1
| | | | Closes #2510
* Expose _ActivityTag as BaseActivity to easily refer to.Rapptz2020-01-141-2/+2
|
* Cache member.roles access to avoid surprising performance trapsRapptz2020-01-061-2/+12
| | | | | Without the cache, repeated access could be accidentally quadratic or worse.
* Fix Member.mentioned_in returning True if in separate guildsRapptz2020-01-061-3/+5
|
* Added Optional to VoiceState.channel typeWilly2019-11-151-1/+1
|
* Add self_stream property to VoiceState object.Joshua B2019-09-191-2/+8
|
* Use lower level Guild.owner_id for permission resolution.Rapptz2019-07-101-1/+1
|
* Fix NameError in member upgrade codeRapptz2019-07-101-1/+1
|
* Add upgraded Member to Message.mentions in case of no cache.Rapptz2019-07-101-0/+11
|
* Different method of upgrading user instancesRapptz2019-07-101-5/+1
|
* Set premium_since when copying and updating MemberSnowyLuma2019-06-111-0/+2
|
* Improve documentationNCPlayz2019-06-071-16/+24
|
* Add Member.premium_since to denote member boost date.Rapptz2019-06-041-1/+5
|
* Use attrgetter to speed up Member attribute access by 2x.Rapptz2019-05-251-2/+5
|
* Add support for voice kicking.Rapptz2019-04-301-5/+13
|
* Fix long-standing issue with user updates not dispatching properly.Rapptz2019-04-081-4/+24
| | | | | | | | | | | | | | | | | | | | | | This fix is long coming. For a long time due to the addition of a global user cache, the on_member_update event would only have the updated user in the very first dispatch due to a quirk in the reference only being updated once. In order to fix this issue two things had to change: 1. There had to be a new event, `on_user_update` to complement the equivalent member event. 2. Unnecessary copies of User had to be removed to compensate for the performance hit from the diffing. While doing these two fixes I also re-evaluated some more unnecessary copies done during the PRESENCE_UPDATE to add member case while fetch_offline_members=False is set or due to chunking issues. The number of copies was brought down from 2 to 1, discounting the original Member creation. Unsure on the benefits of this one, however. N.B: this doesn't change the pre-existing behaviour of on_member_update
* GUILD_MEMBER_UPDATE no longer does actual user updates.Rapptz2019-04-081-7/+1
| | | | | This had been delegated to PRESENCE_UPDATE a long time ago, unfortunately.
* Don't use an enum when unnecessary in Member._client_statusRapptz2019-04-081-1/+1
|
* Organise documentationNCPlayz2019-03-191-13/+13
|
* Update Member.joined_at on MESSAGE_CREATE and document it can be None.Rapptz2019-02-271-2/+12
| | | | Fixes #1638
* Add self_video property to VoiceStateDerpyChap2019-02-181-2/+5
|
* Bumped copyright years to 2019.Dante Dam2019-01-281-1/+1
|
* Fix some lingering attribute setting issues.Rapptz2018-12-141-0/+5
|
* Add support for mobile indicators and per-client statuses.Rapptz2018-12-141-7/+34
|
* Actually drop copy.copy in MemberHornwitser2018-11-241-6/+0
| | | | | | Remove the old and slow Member._copy implementation that was left over by accident in 095f0ec. Since it was defined later it overrode the new implementation and rendered it moot.
* Add support for multiple activitiesSnowyLuma2018-11-241-6/+18
|
* Revert "Rework documentation to not duplicate inherited members."Rapptz2018-10-111-3/+1
| | | | This reverts commit 96981210b3415e15446db0b702b07fef25c8b680.
* Rework documentation to not duplicate inherited members.Rapptz2018-10-031-1/+3
| | | | This will probably be reverted in 1 week.
* Optimise some member and user related routines.Rapptz2018-09-241-4/+19
| | | | | | | * Skip user update if possible * Drop copy.copy in favour of manual copy Credit to Hornwitser for these findings.
* Change internal representation of roles in Member and Emoji.Rapptz2018-09-241-14/+20
| | | | | | | | | | | | | | | Introduce a new internal type, SnowflakeList, which has better memory footprint over a regular list or set of roles. It is suspected that there will be a 9x reduction of memory for every Emoji instance and a 48 byte saving per Member instance. However, these savings will probably only be evident on larger bots. As a consequence of this change, Member.roles is now computed lazily. Currently I am not sure if I want to do the initial sorting on the SnowflakeList for Member, as this comes with a O(n log n) cost when creating a Member for little purpose since SnowflakeList.has is not overly relied on. If CPU time becomes an issue this might change.
* Change internal role storage in Guild to a dict instead of a list.Rapptz2018-09-241-2/+2
| | | | | | | | | | | | | | | | This adds the following APIs: * Guild.get_role This removes the following APIs: * Guild.role_hierarchy To compensate for the removed APIs, Guild.roles is now a sorted list based on hierarchy. The first element will always be the @everyone role. This speeds up access at the cost of some memory, theoretically.
* Change docstrings to raw-stringsBeatButton2018-09-141-2/+2
|
* Correct Member.__hash__Mitchell Ferree2018-08-231-1/+1
| | | Make Member.__hash__ just use whatever its User object's hash impl is.
* [lint] Fix incorrect and inconsistent whitespaceHornwitser2018-08-221-2/+2
| | | | Adjust whitespace to be consistent with the rest of the library.
* [lint] Remove unused importsHornwitser2018-08-221-1/+0
| | | | Left over from various refactoring and rewrites.
* Drop support for Python 3.4 and make minimum version 3.5.2.Rapptz2018-06-101-27/+19
|
* Split Game object to separate Activity subtypes for Rich Presences.Rapptz2018-03-051-12/+11
| | | | | | | | | | | This is a massive breaking change. * All references to "game" have been renamed to "activity" * Activity objects contain a majority of the rich presence information * Game and Streaming are subtypes for memory optimisation purposes for the more common cases. * Introduce a more specialised read-only type, Spotify, for the official Spotify integration to make it easier to use.
* Add intersphinxTobotimus2018-01-061-8/+8
|
* Attempt to change how member functions are detected for Member objectsRapptz2017-09-041-1/+1
|
* Sort roles by hierarchy instead of by ID.Rapptz2017-08-291-18/+9
| | | | Fixes #741
* Fix docstringEthan2017-08-221-1/+1
|
* Add atomic keyword argument for member role editing operations.Rapptz2017-08-211-11/+33
| | | | | | | | | | | | | | | This affects: * Member.add_roles * Member.remove_roles This is the main attempt of fixing long standing bugs like #56. Since cache consistency is too hard to ask for due to eventual consistency and this generally being one of the only main roadblocks that the cache ruins, it's best to just implement it in terms of the atomic endpoint instead. Fixes #56
* Support for discord.Object in Member.remove_roles and Member.add_rolesRapptz2017-08-091-5/+8
|
* Properly sort roles and discard everyone role in Member.colour.Rapptz2017-06-241-2/+4
|
* Use Python3Lexer instead of PythonLexer for pygments.Rapptz2017-05-221-1/+1
|
* More broken Channel references.Rapptz2017-05-201-2/+2
|
* Make supported operations stand out more than attributes.Rapptz2017-05-201-10/+12
|
* Minor speedup when doing comparisons.Rapptz2017-05-181-2/+4
| | | | Shred 2 getattr calls + 1 global lookup to 1 global lookup.
* Fix User == Member comparisons.Rapptz2017-05-181-2/+2
|