27 Commits

Author SHA1 Message Date
Rapptz
983be10111 Fix __aiter__ compatibility with 3.7. 2018-06-29 21:51:25 -04:00
Rapptz
f25091efe1 Drop support for Python 3.4 and make minimum version 3.5.2. 2018-06-10 18:10:00 -04:00
Rapptz
e0f02f1775 Rename AsyncIterator.get to next to prevent shadowing. 2017-07-04 10:45:38 -04:00
Rapptz
152fc89508 Properly check for audit log entry termination. 2017-05-07 21:04:43 -04:00
Rapptz
eb58ddffd8 Skip None action types when iterating. 2017-05-07 12:09:27 -04:00
Rapptz
c54a6a927d Implement audit logs. 2017-04-30 02:58:27 -04:00
Rapptz
1fc08bc5a2 Remove unused imports. 2017-04-18 04:22:35 -04:00
Rapptz
af0ba17885 Proper termination of HistoryIterator.flatten. 2017-03-30 03:27:44 -04:00
Rapptz
8e654bd52a Add support for limit=None in Messageable.history.
Fixes #480.
2017-02-13 19:55:04 -05:00
Rapptz
47ef657fbd Implement async checks. Fixes #380. 2017-02-12 12:13:23 -05:00
Rapptz
2abdbc70c2 Implement utilities for AsyncIterator.
Closes #473.
2017-02-11 23:34:19 -05:00
Rapptz
ff9f5749e1 Update copyright year to 2017. 2017-01-20 23:19:19 -05:00
Rapptz
ae6fb54b1b Make Reaction.users return an async iterator. 2017-01-11 21:20:28 -05:00
Rapptz
06ca518459 Rename NoMoreMessages to NoMoreItems. 2017-01-11 19:53:48 -05:00
Rapptz
8c274139df Allow HistoryIterator to be flattened into a list. 2017-01-11 19:04:52 -05:00
Rapptz
0e0b569d53 Propagate event loop in Messageable.history. 2017-01-11 13:24:28 -05:00
Rapptz
7431a127cf Change Messageable channel getter to be a coroutine. 2017-01-03 09:52:11 -05:00
Rapptz
98b981848d Move message creation to a factory method inside ConnectionState. 2017-01-03 09:52:10 -05:00
Rapptz
53ab263125 Split channel types.
This splits them into the following:

* DMChannel
* GroupChannel
* VoiceChannel
* TextChannel

This also makes the channels "stateful".
2017-01-03 09:51:52 -05:00
Rapptz
044b0824e6 Begin working on the rewrite. 2017-01-03 09:51:47 -05:00
khazhyk
4d87b2f817 Inject full Emoji to Reaction if we have it.
Reaction objects with custom Emoji are partial. If we know of this Emoji
(can find it on this client) then inject it. Otherwise, leave it as a
hollow Emoji. We can still react with a hollow Emoji, but can't get other
metadata about it.
2016-11-03 04:39:45 -04:00
khazhyk
158ac6bb50 Add around parameter to LogsFromIterator. 2016-10-16 18:10:49 -07:00
khazhyk
e2667a6f66 Refactor LogsFromIterator 2016-10-16 17:25:00 -07:00
Khazhismel Kumykov
492c9afffb logs_from improvements for after param.
- Properly support 'after' alone
- Properly support both 'before' and 'after'
- Add optional 'reverse' parameter to sort messages oldest->newest to
  1) provide a sorted result set for 'after'
  2) give flexibility when using both 'before' and 'after'
2016-05-20 18:11:57 -04:00
Rapptz
1f86a9b795 Add Client.purge_from as a high level interface around bulk delete. 2016-05-10 08:43:09 -04:00
Rapptz
b64b89f484 Use Queue instead of LifoQueue in LogsFromIterator.
That way you get the messages in newest to oldest rather than oldest
to newest.
2016-01-15 14:56:52 -05:00
Rapptz
d33d0bed69 Add support for async for in Client.logs_from.
This is a breaking change. Code will still work in Python 3.4 as-is but
if you use Python 3.5 you will have to change your code to the new
`async for` syntax as the older version is not supported in 3.5.

On the other hand, this comes with performance improvements if you use
Python 3.5 as it will lazily load 100 message chunks on an as needed
basis rather than loading all messages in one go.
2016-01-14 15:42:56 -05:00