Commit Graph

3646 Commits

Author SHA1 Message Date
f0c53e4519 Fix URI quoting in Route. 2017-10-24 00:50:20 -04:00
ebecb90c96 is_avatar_animated should always return bool
Was returning None when User.avatar was None
2017-10-24 00:16:44 -04:00
6fc2b51dea Quote all Route params 2017-10-20 05:57:33 +09:00
98a054e19e Use local version identifer for SHA
local version identifier seems to be the only PEP440
way to add arbitrary string to the version. Makes
pip stop complaining about invalid version label.
2017-10-14 20:41:45 -07:00
47a58d354d Reimplement zlib streaming.
This time with less bugs. It turned out that the crash was due to a
synchronisation issue between the pending reads and the actual shard
polling mechanism.

Essentially the pending reads would be cancelled via a simple bool but
there would still be a pass left and thus we would have a single
pending read left before or after running the polling mechanism and
this would cause a race condition.

Now the pending read mechanism is properly waited for before returning
control back to the caller.
2017-10-14 21:19:46 -04:00
c3a727ac7e Show sha1 for development versions. 2017-10-14 15:23:32 -04:00
92a37c2e4f Revert "Implement zlib streaming for the gateway."
This reverts commit 462191a08b.
2017-10-14 15:22:39 -04:00
462191a08b Implement zlib streaming for the gateway. 2017-10-12 22:53:20 -04:00
9b4a2dc7cb [commands] Minor speed-up for the BucketType.guild case.
None case:
344ns ± 24.4ns -> 49.9ns ± 1.39ns

Valid case:
128ns ± 2.76ns -> 42.7ns ± 0.459ns
2017-10-08 07:57:58 -04:00
1bb7b6ff2d [commands] Make CooldownMapping.get_bucket take Message instead.
Requiring a full blown Context might be a bit overkill considering
we only use a single attribute from it.
2017-10-08 07:52:56 -04:00
d53cada91e Fix TypeError in utils.oauth_url 2017-10-04 21:27:31 -07:00
bae6f80327 [commands] Split Cooldown state processing to two different functions.
This allows us to check if we are rate limited without
creating a new cool-down window for the command.
2017-10-03 03:57:06 -04:00
b22f7c76c5 Further clarify how bots can interact with emoji endpoints
Clarifies that bot accounts can only interact with emoji they have
created.
2017-10-03 00:22:06 +02:00
51a696e674 Remove reference to "whitelisted" bots for emoji endpoints
Due to a recent change in the Discord API, bots can now create
guild-specific emoji, so I've removed the parts of the documentation
referencing this restriction.
2017-10-03 00:10:01 +02:00
13632faf97 Fix AppInfo.id being a string 2017-10-02 13:38:05 -07:00
065f408a10 Move pre-emptive message to DEBUG log level. 2017-10-01 13:43:20 -04:00
711dfb83ab Allow creating a channel with a category. 2017-09-29 05:54:29 -04:00
6d6ce14d7c Fix Guild.system_channel always returning None.
Fixes #811
2017-09-26 22:56:26 -04:00
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
148816c4e8 Temporarily add created channels to cache.
This should fix issues when doing a `abc.GuildChannel.edit` immediately
afterwards and then when the corresponding CHANNEL_CREATE comes in the
channel instance should hopefully be overwritten by the authoritative
figure, the WebSocket.
2017-09-23 18:54:12 -04:00
fd531297d2 Changed discord.Client.event to debug log success instead of info log.
This is suggested to prevent spamming the console unnecesarilly.

Info should be used to output information to the user that is important, but
not a warning or an error. If I am bundling a bot as a modular package then
it doesn't really make sense to spam their console with every time a coroutine
is subscribed to, as it likely will not mean anything to the user. If they are
interested in this, it would make more sense to just to enable debugging first.

I have made this change, as I am writing a wrapper for this library for a
private project, and that will handle dispatching events, thus, I do not
need a prompt for each event that is subscribed to in this module outside of
DEBUG. Currently, with logging set to INFO, I am getting 47 lines reading:

    INFO:discord.client:coroutine has successfully been registered as an event

...being output as my bot starts, and without having to disable INFO logging
altogether, I am currently having to temporarily change the verbosity of the
logger as the events are initialised, which is not desirable as it could
potentially cover up any other INFO messages that would be useful to have
output.

Using a filter seems like a bit of a hacky workaround. If this isn't acceptable
then another alternative would be to add a parameter to the constructor of
discord.Client to enable or disable printing this information.
2017-09-23 12:50:12 +01:00
54f2c71e71 Fix margins on <p> tags. 2017-09-22 03:11:37 -04:00
458cb83b47 Properly handle cases where a category is removed. 2017-09-21 22:15:47 -04:00
dbf8b5bda6 Fix header size warnings. 2017-09-21 21:16:00 -04:00
e3d69ce83d Add custom details directive. 2017-09-21 21:15:37 -04:00
8ed5fe472c More CSS fixes. 2017-09-21 19:38:33 -04:00
2bfd15ba89 Fix weird margins with unordered lists in the HTML5 output. 2017-09-21 18:37:22 -04:00
de6cffa347 Try to build HTML5 for docs. 2017-09-21 18:04:46 -04:00
95c28f08e4 Fix sorting for channels. 2017-09-21 00:11:36 -04:00
3e00e7fe8a [guild] use a defaultdict in by_category 2017-09-20 21:08:46 -07:00
06296bfaf6 Changed README from using Markdown to use reStructuredText 2017-09-18 20:01:57 -04:00
415ca9a774 Add webhook.url 2017-09-18 19:31:20 +02:00
025136076a Add an example for on_reaction_add waiting.
Apparently people would rather read examples than the actual
documentation.
2017-09-18 05:46:51 -04:00
5e913b265b Change how coroutines are detected internally. 2017-09-16 13:35:00 -04:00
305cc3acfa Clarify VoiceClient.disconnect docs a little more. 2017-09-16 13:29:36 -04:00
91e2163523 Fix typo in http.create_channel 2017-09-13 18:05:09 -05:00
7b2e06c263 Fix error when creating guild channels. 2017-09-13 18:47:40 -04:00
e614f6b4cd [commands] Add CategoryChannelConverter 2017-09-13 17:19:30 -04:00
7df8897e3d Add Guild.create_category.
An alias, Guild.create_category_channel is provided.
2017-09-13 17:01:42 -04:00
233c2d80ef Fix grammar in abc docs, add new implementation 2017-09-13 13:54:09 -04:00
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
e24914be0b [commands] Fix NameError when given an invalid prefix.
Closes #775
2017-09-12 04:22:13 -04:00
3cd1fdc1eb Document new features for guilds. 2017-09-12 04:21:15 -04:00
1367877d36 Fix crashing for now when a category is created.
A full implementation will come later.
2017-09-08 21:30:25 -04:00
8912625428 Fix docstrings for Webhook.send 2017-09-08 04:23:11 -04:00
4564b46f95 Quick start example doesn't respond to ourselves. 2017-09-05 07:03:09 -04:00
21fd94a449 Attempt to change how member functions are detected for Member objects 2017-09-04 20:03:50 -04:00
dcde896e14 Fix __hash__ for Invite objects. 2017-09-04 20:03:07 -04:00
4db76c6c6b Switched places of user and reaction in wait_for example 2017-08-31 18:07:12 -04:00
12a371bfb8 [commands] Add MissingPermissions and BotMissingPermissions 2017-08-30 23:21:04 -04:00