Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz e2acf7b2b9 Add ClientUser.premium boolean. 2017-01-20 15:01:10 -05:00
Rapptz fa384f2114 Make ClientUser separate from a regular User.
This removes Client.edit_profile in favour of ClientUser.edit.
2017-01-19 19:37:11 -05:00
Rapptz 4b6b5bd35e Remove email/password based login. 2017-01-19 18:32:17 -05:00
Rapptz f465f88d81 Reimplement Guild.me property without patching it in. 2017-01-18 19:54:47 -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 898a05d5ea Fix AutoShardedClient docstring. 2017-01-16 16:37:53 -05:00
Rapptz ea72d5e63d [commands] Guarantee that local error handler is called before generic. 2017-01-15 21:55:50 -05:00
Rapptz 11b54d67c9 [commands] Change UserConverter to actually work with User, not Member. 2017-01-14 22:15:02 -05:00
Rapptz 92dd519b1a Remove _get_guild_id from Messageable ABC. 2017-01-14 19:22:26 -05:00
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