3245 Commits

Author SHA1 Message Date
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
Kyle Repinski
643950abf8 Add ability to set opus encoder input signal type. 2017-01-03 09:51:14 -05:00
PapyrusThePlant
31cd9ad37a [commands] Bugfix on the teardown function call. 2017-01-01 01:49:10 -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. 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