Rapptz
462191a08b
Implement zlib streaming for the gateway.
2017-10-12 22:53:20 -04:00
Rapptz
065f408a10
Move pre-emptive message to DEBUG log level.
2017-10-01 13:43:20 -04:00
Rapptz
711dfb83ab
Allow creating a channel with a category.
2017-09-29 05:54:29 -04:00
Rapptz
f86ac47b28
Don't use Bulk Channel Edit endpoint if not actually moving channels.
...
Should make the category-only edit cases more straightforward since
it does not rely on other guilds in the cache, outside of the category
itself.
2017-09-24 04:55:10 -04:00
Harmon
91e2163523
Fix typo in http.create_channel
2017-09-13 18:05:09 -05:00
Rapptz
53b4890435
Add category support.
...
This adds:
* CategoryChannel, which represents a category
* Guild.by_category() which traverses the channels grouping by category
* Guild.categories to get a list of categories
* abc.GuildChannel.category to get the category a channel belongs to
* sync_permissions keyword argument to abc.GuildChannel.edit to sync
permissions with a pre-existing or new category
* category keyword argument to abc.GuildChannel.edit to move a channel
to a category
2017-09-13 09:44:36 -04:00
Rapptz
63bca6604b
Manually format reason parameter for kick and ban.
...
Related to: https://github.com/aio-libs/aiohttp/issues/2235
2017-08-30 17:58:53 -04:00
Rapptz
37b0fdb898
Add webhook support.
...
Allows for usage of either `requests` and `aiohttp` when used in
"Standalone" mode.
Fixes #704
2017-08-21 01:57:07 -04:00
Rapptz
13c6a0a17a
Add support for Guild.system_channel
2017-08-17 18:14:52 -04:00
PapyrusThePlant
0d21e83b7f
Fix the proxy support for aiohttp>=1.4.
2017-08-11 16:44:15 +02:00
khazhyk
62cdfbdbcd
Raise in HTTPClient.request when out of retries
...
Raise after loop completes without returning with most recent values
for r, data. This is a bit less fragile than checking tries < 4, since
changing the retry count requires changing values in multiple places.
(There seemed to already be handling in the 502 retry, tries <= 5,
which always evaluated to true, e.g.)
Previously, once out of retries, we would always return None without
raising.
This won't NameError so long as we make at least one HTTP request.
2017-07-22 20:10:28 -07:00
khazhyk
2850995062
Retry on 500 in HTTPClient.request
...
Discord official client retries on 500, so worst case scenario, we're
not any worse than the official client which seriously outnumbers us.
2017-07-22 20:10:25 -07:00
Rapptz
6e0902ef57
Implement new-style NSFW channels.
...
No idea how these will change in the future but this is barebones
enough for now.
2017-07-18 16:36:26 -04:00
Rapptz
851d4ce22a
Properly quote reason header so non-ASCII works in audit log reasons.
2017-06-17 01:04:38 -04:00
Rapptz
b06899e7d4
Defer logging formatting until the logger is actually called.
...
This would cause unnecessary format calls even if you didn't have
logging enabled.
2017-06-09 18:53:24 -04:00
Rapptz
3330a19f35
Support for sending a nonce.
2017-05-31 07:34:59 -04:00
Rapptz
8d3279b291
Implement an Attachment model.
2017-05-30 22:27:45 -04:00
Rapptz
d21fb780fd
Remove unused functions in HTTPClient.
2017-05-30 20:00:46 -04:00
Rapptz
dff6bcc745
Add support for audit log reasons.
...
Most routes now have a 'reason' keyword argument.
2017-05-07 03:08:06 -04:00
Rapptz
fac43ad595
Fix NameError in HTTPClient.kick
2017-05-02 20:14:40 -04:00
Rapptz
ba2dad2093
Add support for setting and retrieving guild vanity invites.
2017-04-30 07:17:00 -04:00
Rapptz
c54a6a927d
Implement audit logs.
2017-04-30 02:58:27 -04:00
Rapptz
3983eb3ba5
Support for API v7 error handling.
2017-04-15 19:55:51 -04:00
Rapptz
bf2066278e
Add support for multiple file attachments.
...
This is a breaking change. No longer does Messageable.send have a
filename keyword argument, instead this is all handled through the
discord.File model. To upload many files you must specify a list
of discord.File objects.
2017-04-08 03:33:21 -04:00
Rapptz
ff95258710
Use an asyncio.Event instead of an asyncio.Lock for global rate limits.
...
There were some dead-locking issues that I suspect were due to the
way the global rate limit was handled. This changes it into a simple
Event that allows multiple coroutines to pass through instead of one
by one.
2017-04-01 23:31:32 -04:00
Rapptz
4ffded622a
Removing acking on channels.
2017-03-18 11:52:18 -04:00
Rapptz
76e76f2905
Add underscore to HTTPClient.session to imply privateness.
2017-03-04 23:27:57 -05:00
Rapptz
aa41101237
Remove Client.accept_invite
2017-03-04 20:42:21 -05:00
Rapptz
8daf411c72
Add Messageable.ack
2017-02-28 00:47:37 -05:00
Rapptz
9a1215e13b
Add support for message acking.
2017-02-27 23:29:52 -05:00
Rapptz
751933f068
Remove nonce when sending messages.
2017-02-27 18:02:07 -05:00
Rapptz
ca81f0c3fc
Better group DM support.
2017-02-09 20:50:02 -05:00
Rapptz
8c581bc5bd
Removed unused variables in routes.
2017-02-09 02:44:45 -05:00
Rapptz
0311b407c3
Remove unused constants in HTTPClient
2017-02-08 20:44:35 -05:00
Rapptz
f5b455c119
Only defer the lock if we're pre-emptively rate limiting.
...
If a 429 was already hit somehow then we're no longer pre-emptively
rate limiting and we're going to end up having a race condition in
the lock/unlock cycle.
2017-02-08 03:47:35 -05:00
Rapptz
b27fab09eb
Allow removing an embed in Message.edit
2017-01-29 20:32:24 -05:00
Rapptz
02f30f21c4
Implement User.profile coroutine to get a user's profile.
2017-01-24 22:00:27 -05:00
Rapptz
1ffb2ca7ac
Allow unique invites for Client.create_invite.
2017-01-21 16:23:14 -05:00
Rapptz
ff9f5749e1
Update copyright year to 2017.
2017-01-20 23:19:19 -05:00
Rapptz
4c981ee631
Add support for relationships.
2017-01-20 19:28:43 -05:00
Rapptz
4b6b5bd35e
Remove email/password based login.
2017-01-19 18:32:17 -05:00
Rapptz
f4cadaf0cc
Fix bug with GuildChannel.edit and Role.edit with positions.
...
I did not update the HTTP code for these two methods.
2017-01-16 18:19:18 -05:00
Rapptz
92dd519b1a
Remove _get_guild_id from Messageable ABC.
2017-01-14 19:22:26 -05:00
Rapptz
ced617e786
Use the improved role creation endpoint for making roles.
2017-01-13 01:30:09 -05:00
Rapptz
c8247371f1
Fix 404s in pins_from and create_role routes.
2017-01-12 18:05:46 -05:00
Rapptz
94448d3972
Fix NameError inside HTTPClient.edit_member.
2017-01-09 21:30:59 -05:00
Rapptz
b86a568f86
Fix HTTP.application_info 404ing.
2017-01-09 20:58:58 -05:00
Rapptz
6d33ea748a
Implement rate limit headers.
2017-01-09 18:51:24 -05:00
Rapptz
20041ea756
Implement AutoShardedClient for transparent sharding.
...
This allows people to run their >2,500 guild bot in a single process
without the headaches of IPC/RPC or much difficulty.
2017-01-07 23:19:39 -05:00
Rapptz
98b981848d
Move message creation to a factory method inside ConnectionState.
2017-01-03 09:52:10 -05:00