Rapptz
ce9d5b4f4a
[commands] Split process_commands into lower level bits.
2017-01-14 19:17:08 -05:00
Rapptz
87dc2f4dd3
Show inherited members in the docs for User and Member.
2017-01-13 20:46:23 -05:00
Rapptz
33450cd1b6
Fix documentation to properly use Messageable.send
2017-01-13 20:35:44 -05:00
Rapptz
695b62ccd3
[commands] Make Command a descriptor for #426 .
2017-01-13 20:34:00 -05:00
Rapptz
ced617e786
Use the improved role creation endpoint for making roles.
2017-01-13 01:30:09 -05:00
Rapptz
6d3a5eaeb6
Remove extraneous kwargs from Permissions constructor.
2017-01-13 01:27:16 -05:00
Rapptz
c8247371f1
Fix 404s in pins_from and create_role routes.
2017-01-12 18:05:46 -05:00
Rapptz
ae6fb54b1b
Make Reaction.users return an async iterator.
2017-01-11 21:20:28 -05:00
Rapptz
b9b9d8c4d0
Fix NameError inside Messageable.get_message
2017-01-11 20:26:06 -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
7e2c016eaa
Remove extraneous unneeded hash calls.
2017-01-10 04:37:45 -05:00
Rapptz
94448d3972
Fix NameError inside HTTPClient.edit_member.
2017-01-09 21:30:59 -05:00
Rapptz
3c6d677f85
Update README example.
2017-01-09 21:25:03 -05:00
Rapptz
b86a568f86
Fix HTTP.application_info 404ing.
2017-01-09 20:58:58 -05:00
Rapptz
f877efdd89
Change version info to 1.0.0a0.
2017-01-09 20:52:11 -05:00
Rapptz
6d33ea748a
Implement rate limit headers.
2017-01-09 18:51:24 -05:00
Rapptz
6adfd633ea
Allow Messageable.send to work with non-truthy types.
2017-01-09 09:50:14 -05:00
Rapptz
b09f25293b
Use CDN URL for Guild.icon_url.
2017-01-09 03:43:51 -05:00
Rapptz
36a5925908
Return default avatar URL if an avatar is not given for User.avatar_url
...
Also use the CDN URL like Jake has always requested.
2017-01-09 03:41:01 -05:00
Rapptz
63604e0566
Use CDN URL for default avatars.
2017-01-09 03:35:51 -05:00
Rapptz
5e201be792
Fix typo in Guild.invites
2017-01-09 03:13:57 -05:00
Rapptz
3780943d0a
Add Guild.create_text_channel and Guild.create_voice_channel.
2017-01-08 17:09:56 -05:00
Rapptz
d13df30e2a
Add ability to edit guild invite splashes.
2017-01-08 07:24:56 -05:00
Rapptz
d22d8cc430
[commands] Add AutoShardedBot counterpart to AutoShardedClient.
2017-01-08 04:50:59 -05:00
Rapptz
aae8b783e9
VoiceChannel.voice_members is now computed when needed.
2017-01-08 04:31:33 -05:00
Rapptz
4bd8382e06
Fix bug that caused Guild instances to be in VoiceChannel.voice_members
2017-01-08 03:46:43 -05:00
Rapptz
93d267cd2b
Remove extraneous prints.
2017-01-08 02:08:38 -05:00
Rapptz
92c1637921
Allow overriding the shard_ids used for initial shard launch.
2017-01-08 02:05:21 -05:00
Rapptz
4bc6625739
Add AutoShardedClient.change_presence.
2017-01-08 01:51:10 -05:00
Rapptz
b5bed9ef33
Change the way shards are launched in AutoShardedClient.
2017-01-08 01:31:46 -05:00
Rapptz
d93067ca0f
Add Guild.chunked property.
2017-01-08 01:28:15 -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
d54d7f7ac0
Fix variable shadowing in READY parsing.
2017-01-05 07:03:56 -05:00
Rapptz
808a05ff2d
Move global user cache to a WeakValueDictionary.
2017-01-04 05:16:59 -05:00
Rapptz
f8a5d890fe
Update examples to match the new rewrite API.
2017-01-03 20:58:11 -05:00
Rapptz
94655c77c0
Fix Messageable.typing context manager.
2017-01-03 20:24:42 -05:00
Rapptz
d086b5421d
Fix NameError when dealing with permission resolution.
2017-01-03 20:17:59 -05:00
Rapptz
c863d93f69
Fix bug that made member roles go missing.
2017-01-03 20:17:58 -05:00
Rapptz
3f06cf9e81
[commands] Don't use removed is_private attribute in core decorators.
2017-01-03 20:17:58 -05:00
Rapptz
496f5d0472
[commands] Fix help command from not working with recent changes.
2017-01-03 09:52:12 -05:00
Rapptz
7690455b21
Make User and Member messageable.
2017-01-03 09:52:12 -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
5e6bfecb07
Move away from StateContext and use ConnectionState directly.
2017-01-03 09:52:10 -05:00
Rapptz
d5b616fa11
Rename MessageChannel abc to Messageable.
2017-01-03 09:52:09 -05:00
Rapptz
633eacc982
Add permission overwrites to GuildChannel.
2017-01-03 09:52:08 -05:00
Rapptz
6709979831
Move GuildChannel over to abc module.
2017-01-03 09:52:08 -05:00
Rapptz
a557858742
Remove chunks of the voice code to redesign later.
2017-01-03 09:52:07 -05:00
Rapptz
7eb73cdc71
Add Role.members to get every member with a role.
2017-01-03 09:52:06 -05:00
Rapptz
dceba9d962
Add useful repr to all data classes.
2017-01-03 09:52:06 -05:00
Rapptz
ec6c7f8b34
Fix handling of author update and missing type attribute in Message.
2017-01-03 09:52:05 -05:00
Rapptz
4e175d36d3
Add delete_after parameter to MessageChannel.send
2017-01-03 09:52:04 -05:00
Rapptz
20ddc9f14f
[commands] Remove send_ utility functions.
2017-01-03 09:52:04 -05:00
Rapptz
406984af2e
[commands] First pass in making commands ext work again.
2017-01-03 09:52:03 -05:00
Rapptz
9c000c5a72
Fix documentation to work.
2017-01-03 09:52:02 -05:00
Rapptz
79a49f9145
Absolute import some circular dependencies to appease Python 3.4.
2017-01-03 09:52:02 -05:00
Rapptz
a1c81419b7
Rename MessageChannel.send_message to send and unify interface.
...
This removes MessageChannel.upload.
2017-01-03 09:52:01 -05:00
Rapptz
30394d03f2
Remove no longer used functions in Client.
2017-01-03 09:52:00 -05:00
Rapptz
802f6c91d4
Add Message.clear_reactions
2017-01-03 09:52:00 -05:00
Rapptz
2c50c18ca3
Change dict value views into lists.
2017-01-03 09:51:59 -05:00
Rapptz
c205eb3528
Re-add support for embeds.
2017-01-03 09:51:58 -05:00
Rapptz
42891c3084
Make Message.embeds to be based on discord.Embed
2017-01-03 09:51:58 -05:00
Rapptz
c187d87dae
Re-add support for reactions.
...
We now store emojis in a global cache and make things like adding
and removing reactions part of the stateful Message class.
2017-01-03 09:51:57 -05:00
Rapptz
59a0df5f98
Rename try_insert_user to store_user
2017-01-03 09:51:56 -05:00
Rapptz
5cb3ad14e8
Make emojis and members stateful.
2017-01-03 09:51:55 -05:00
Rapptz
a7a60e433b
Make roles and guilds stateful.
2017-01-03 09:51:55 -05:00
Rapptz
d1d54a468a
Rename Server to Guild everywhere.
2017-01-03 09:51:54 -05:00
Rapptz
f33eaa4a61
Stateful Message and remove Invite.xkcd since it is removed.
2017-01-03 09:51:53 -05:00
Rapptz
1070cf0735
Add MessageChannel.typing context manager for prolonged typing.
2017-01-03 09:51:52 -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
20251c54a7
[commands] Bot skip check now works with the new __eq__ changes.
2017-01-03 09:51:51 -05:00
Rapptz
e4b16851bf
Slots use tuples instead now.
2017-01-03 09:51:50 -05:00
Rapptz
b9dafe375f
Add some basic ABCs.
2017-01-03 09:51:50 -05:00
Rapptz
45c729b167
Switch IDs to use int instead of str
2017-01-03 09:51:49 -05:00
Rapptz
aa8a328f0a
Remove Message.timestamp and make Message.channel_mentions lazy.
...
Message.timestamp is replaced with Message.created_at. This commit
also affects how MESSAGE_UPDATE is handled by only assuming that two
keys are provided rather than overwriting data with missing keys.
2017-01-03 09:51:48 -05:00
Rapptz
31229a53e9
Optimise VoiceState for memory.
...
Instead of storing one VoiceState per Member, only store them if
necessary. This should bring down the number of instances
significantly.
2017-01-03 09:51:47 -05:00
Rapptz
044b0824e6
Begin working on the rewrite.
2017-01-03 09:51:47 -05:00
Rapptz
a8264f6540
Chunk every guild if it's a user bot.
...
This also increases the timeout for chunking by 30 seconds for every
chunk we're waiting for.
2016-12-24 17:32:20 -05:00
Rapptz
4d59bca4aa
Support animated avatars in User.avatar_url.
2016-12-23 00:43:19 -05:00
Rapptz
bed2e90e82
Properly propagate loop. Fixes #420 .
2016-12-21 00:06:19 -05:00
Rapptz
5731f3405d
Version bump to v0.16.0.
2016-12-19 17:53:41 -05:00
Rapptz
00e30f3106
[commands] Shield against dictionary resize in Bot.close
2016-12-17 21:18:48 -05:00
Rapptz
fc1a7183a0
[commands] Unload all cogs when gracefully exiting bot.
2016-12-17 14:47:29 -05:00
Rapptz
b8909ae389
[commands] Properly propagate CommandError derived exceptions.
...
If a command or a group raised a CommandError derived exception it
would be wrapped into CommandInvokeError. This fixes this case so it
raises the original exception instead.
2016-12-17 14:44:36 -05:00
Rapptz
6d88024f0f
[commands] Add special extension function 'teardown' for clean-up.
...
This is to support people who want to clean up some external resource
that the extension is maintaining outside of a cog, where __unload
should be used instead.
The callable is the antipode of 'setup' and takes the same sole
parameter, the bot, after all commands, events, and cogs have been
unloaded.
Fixes #405 .
2016-12-17 14:15:11 -05:00
Rapptz
bafaf72c89
[commands] Unload all extensions when gracefully closing bot.
2016-12-17 14:15:10 -05:00
Rapptz
c7946606f4
Add Channel.overwrites to get a channel's permission overwrites.
...
Fixes #414 .
2016-12-17 14:00:34 -05:00
Rapptz
6302ef8094
Add support for partnered servers. Fixes #387 .
...
This commit allows you to edit a server's invite splash, query if
something has partnered features, and retrieve the invite splash + URL.
2016-12-17 13:34:19 -05:00
Rapptz
a0f4ad36eb
Timeout waiting for chunking.
...
Sometimes the bot would keep waiting for chunks that somehow finished
before getting to the `wait` call. This is more so a temporary fix
rather than a fully correct one.
2016-12-16 21:28:12 -05:00
Rapptz
6306fc08db
Discard null sequences in the gateway.
...
This was forbidding the Discord gateway from allowing us to RESUME
properly, causing an over-abundance of READY being called.
2016-12-16 18:29:29 -05:00
Rapptz
51fda76555
Fix typo in wait_for_reaction documentation.
2016-12-07 07:23:12 -05:00
Rapptz
b7c90a5e3d
Fix role comparisons.
...
Fixes #409
2016-12-02 01:28:54 -05:00
Rapptz
14a1bbceda
Make FAQ use change_presence instead of change_status.
2016-11-30 17:08:55 -05:00
Rapptz
64733c0b19
Version bump to v0.15.1
2016-11-30 17:05:29 -05:00
Rapptz
59d17e4137
Version bump to v0.15.0
2016-11-22 19:59:28 -05:00
Rapptz
6f2603c049
[commands] Remove slots on Context.
...
This is to allow people to set temporary local variables by injecting
them directly into the context via some decorator or some other
mechanism. Contexts are not kept alive long enough to warrant being
slotted.
2016-11-22 19:57:19 -05:00
Rapptz
c4ee4c1db4
Make discord.Embed builder more strict and easier to use.
...
Allow for easier use when trying to "reuse" the same discord.Embed
object by providing new methods such as Embed.clear_fields,
Embed.set_field_at, and allowing you to set things to Embed.Empty to
clear out an attribute.
For ease of use, things are automatically casted to ``str`` to prevent
the user from having HTTP 400 errors if they forgot to do so. The new
embed builder also supports "fluent-style" interface to allow you to
chain methods in a single line if necessary.
Certain parameters were removed since they were ignored by Discord
anyway such as `width` and `height` in Embed.set_image and
Embed.set_thumbnail.
2016-11-22 19:30:21 -05:00
Rapptz
fb1f9ac659
Add PermissionOverwrite.is_empty to query empty state of an overwrite.
...
Fixes #382
2016-11-21 03:12:44 -05:00