Rapptz
3cb680159e
Add __unload to the special cog method list.
2017-05-17 00:57:21 -04:00
Rapptz
df90aaa610
Rename internal ConnectionState attribute to have an underscore.
...
Some people like to use that variable name apparently.
See #568 and #569 .
2017-05-16 20:20:39 -04:00
Rapptz
9cbbd8af65
Highlight currently visited section.
2017-05-16 03:12:43 -04:00
Rapptz
7a06f0f3bf
Client.get_user_info uses int for IDs not str.
...
Realistically both will work but let's not say that.
2017-05-15 21:31:38 -04:00
Rapptz
20949fc70e
Add helpful admonition CSS.
2017-05-15 20:47:49 -04:00
Rapptz
7a84661312
Rename Colour.to_tuple to Colour.to_rgb.
2017-05-15 03:40:27 -04:00
Rapptz
6f53491f9a
Add Colour.from_rgb.
2017-05-15 03:37:21 -04:00
Rapptz
c1130d2879
[commands] Update check examples to work with rewrite.
2017-05-15 02:52:20 -04:00
Rapptz
4023510032
Use describe for Colour documentation.
2017-05-15 02:29:03 -04:00
Rapptz
d80e08c1c6
Fix all broken cross references in the migrating page... again.
2017-05-15 02:08:56 -04:00
Rapptz
b895a3fabb
Remove a bunch of red from the theme.
2017-05-15 01:55:42 -04:00
Rapptz
dd11b1f54c
Make buttons in the sidebar not so sticky looking.
2017-05-15 01:42:30 -04:00
Rapptz
db3bc4076a
Completely new theme separate from alabaster.
2017-05-15 01:22:00 -04:00
Rapptz
2d465d9b3c
Fix dead links in the migrating page.
2017-05-14 23:55:38 -04:00
Rapptz
c45d18a6ea
Add note about upgraded dependencies in the migrating page.
2017-05-14 17:59:17 -04:00
Rapptz
6b3abeb810
Fix FAQ using string for IDs.
2017-05-14 04:43:15 -04:00
Rapptz
de00573288
Fix some broken cross references in the migrating page.
2017-05-13 23:16:40 -04:00
Rapptz
b0dec645cb
Add warning about sharing tokens.
2017-05-13 21:31:38 -04:00
Rapptz
f73eb087c9
Use describe instead of tables for supported operations.
2017-05-13 18:48:14 -04:00
Rapptz
96eca8aa53
Add Colour.blurple and Colour.greyple.
2017-05-13 17:39:12 -04:00
Rapptz
64d09f3720
Force disconnect in abc.Connectable.connect.
...
Some cases of is_connected is not set so we need to force it to clear
it anyway.
2017-05-13 16:01:32 -04:00
Rapptz
cacd49b039
Be more consistent with period placements.
2017-05-12 22:48:17 -04:00
Rapptz
c6e1629011
Make images in the discord intro have consistent dimensions.
2017-05-12 22:45:27 -04:00
Rapptz
56972f509f
Remove ugly background in the FAQ page.
2017-05-12 22:09:53 -04:00
Rapptz
823bfe5b2d
Rename image file to lower case png.
...
Apparently Windows likes to make it PNG and not png which is quite
odd really.
2017-05-12 22:00:19 -04:00
Rapptz
cf2269fdf4
Fix some left over incorrect snippets.
2017-05-12 21:12:28 -04:00
Rapptz
a93145d1f0
Fix dead cross-reference links in the migrating page.
2017-05-12 21:01:50 -04:00
Rapptz
53926e3126
Hide the title in the index.
2017-05-12 20:37:45 -04:00
Rapptz
b44bba6ee6
First pass at documentation reform.
2017-05-12 20:14:34 -04:00
Rapptz
be2e706b2a
Rename abc.Callable to abc.Connectable.
2017-05-10 21:36:49 -04:00
Rapptz
d7478425ca
[commands] Converter.convert is always a coroutine.
...
Along with this change comes with the removal of Converter.prepare and
adding two arguments to Converter.convert, the context and the argument.
I suppose an added benefit is that you don't have to do attribute
access since it's a local variable.
2017-05-10 21:30:41 -04:00
Rapptz
8ef984746a
[commands] Fix default error handler to work with the switch.
2017-05-10 19:36:46 -04:00
Rapptz
5106feaf57
Allow comparison between User and Member instances again.
2017-05-10 19:32:25 -04:00
Rapptz
a2c9cefac9
[commands] Re-order error handler arguments.
...
They now have Context as the first argument to be consistent with other
context-passing functions.
2017-05-10 17:49:42 -04:00
Rapptz
6b063deda9
Only set the attribute if it isn't None.
2017-05-10 14:57:26 -04:00
Rapptz
e557f69c83
Make sure that websockets.connect is a coroutine.
...
In 3.5.0 and 3.5.1 asyncio.ensure_future requires a Future or a
coroutine otherwise a TypeError is raised. The issue is that the
websockets.connect call is an awaitable rather than a coroutine.
asyncio.ensure_future did not gain support for awaitables until 3.5.2.
This patch allows 3.5.0 and 3.5.1 to connect regardless of their python
version.
2017-05-09 20:35:18 -04:00
Rapptz
8081a654e8
Remove Guild.change_vanity_invite in favour of Guild.edit
2017-05-09 17:49:05 -04:00
Rapptz
1db31d8339
Add back Client.create_guild.
2017-05-09 14:11:13 -04:00
Rapptz
a0fc1402d7
Rename GuildRegion to VoiceRegion.
...
This naming makes more sense since voice regions are not a guild
exclusive concept.
2017-05-09 13:42:35 -04:00
Rapptz
152fc89508
Properly check for audit log entry termination.
2017-05-07 21:04:43 -04:00
Rapptz
140be3e4c8
Make AuditLogDiff.roles an empty list instead of None.
2017-05-07 12:09:28 -04:00
Rapptz
eb58ddffd8
Skip None action types when iterating.
2017-05-07 12:09:27 -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
2b44876955
Fix NameError when making things Object in audit logs.
2017-05-07 01:06:15 -04:00
Rapptz
7916878eb5
Audit log role add and removes are lists, not single item.
...
Breaking change. role -> roles and it's now a list.
2017-05-06 16:39:47 -04:00
Rapptz
d7153b1b5c
Replace hasattr with try except in chunker.
2017-05-05 21:45:51 -04:00
Rapptz
1626ade67d
Split on_channel_pins_update as well.
2017-05-05 21:37:38 -04:00
Rapptz
322c70fda9
Rework some events to make more sense.
...
This is a breaking change.
1. Change on_guild_emojis_update to have 3 arguments.
- The first parameter is now the guild object
2. Remove on_channel_create, on_channel_delete, and on_channel_update
- They are now split into two.
- on_guild_channel_[create|delete|update]
- on_private_channel_[create|delete|update]
3. Change on_member_ban to allow User.
- (member) -> (guild, user)
- user can also be a Member
2017-05-05 20:47:25 -04:00
Rapptz
c20ba51e28
[commands] Export is_nsfw check.
2017-05-05 20:21:28 -04:00
Rapptz
d24c2a09b6
Change some format usage to use %-formatting.
...
Minor speed increase when we're not doing excessive attribute
access or any type of formatting.
2017-05-04 06:04:55 -04:00
Rapptz
86bfcdd129
Add support for message delete audit log action type.
2017-05-04 04:35:02 -04:00
Rapptz
663315f7ac
Explicitly close UDP sockets when re-creating them.
...
This does not actually make a big difference since the GC should
technically close them when needed but might as well be more explicit.
2017-05-02 20:25:54 -04:00
Rapptz
fac43ad595
Fix NameError in HTTPClient.kick
2017-05-02 20:14:40 -04:00
Rapptz
c8937ed2aa
[commands] Add is_nsfw check.
2017-05-01 22:36:22 -04:00
Rapptz
c9565e57d3
Make sure that the chunker task only runs once.
2017-05-01 22:34:24 -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
3f45db5c3b
Better TextChannel.is_nsfw() check.
2017-04-30 02:53:33 -04:00
Rapptz
10453d6718
Add Client.get_emoji to get an Emoji from an ID.
2017-04-30 02:53:05 -04:00
Rapptz
d3a86a5fb6
Add TextChannel.is_nsfw method to check for NSFW channels.
2017-04-26 21:02:30 -04:00
Rapptz
92d55077aa
Don't set VoiceClient.channel to None when VOICE_STATE_UPDATE says so.
...
Sometimes VOICE_STATE_UPDATE gives us a channel_id: null payload and
we would end up clearing the VoiceClient.channel state along with
it.
2017-04-26 04:52:49 -04:00
Rapptz
37681dd0ea
[commands] Fix lack of space in when_mentioned
2017-04-24 00:23:23 -04:00
Rapptz
6188397fc9
[commands] Add Context.voice_client shortcut.
2017-04-24 00:17:04 -04:00
Rapptz
c005ef5d44
[commands] Make when_mentioned always have both mention formats.
...
This will allow it to work in mobile clients which don't respect the
<@!id> format in case of nicknames.
2017-04-24 00:13:27 -04:00
Rapptz
e445fa9335
Wait 5 seconds before attempting to RESUME during INVALIDATE_SESSION.
2017-04-22 21:34:56 -04:00
Rapptz
1519a6fefa
Fix some linting errors.
2017-04-22 04:50:31 -04:00
Rapptz
c30ab8a3e5
Fix NameError in Role.edit when moving roles.
2017-04-22 04:47:43 -04:00
Rapptz
0ce781b37c
Fix NameError in GuildChannel.changed_roles
2017-04-22 04:44:21 -04:00
Rapptz
3cfebc4605
Timeout when doing initial connection.
2017-04-22 02:18:35 -04:00
Rapptz
b6ac856868
[commands] Allow loading cogs from folders.
...
Internally, instead of using module objects just use the `__module__`
attribute which is the same thing. From preliminary testing this seems
to work fine with both regular one-file-per-cog approaches and the
folder cog approach.
Fixes #126 .
2017-04-21 18:57:28 -04:00
Rapptz
b05d8790fc
Allow using Reaction objects while adding or removing reactions.
2017-04-21 17:32:09 -04:00
Rapptz
83649d7f0a
Support for new member message types.
2017-04-21 03:49:05 -04:00
Rapptz
34c60002bf
Allow setting a default volume in PCMVolumeTransformer.
2017-04-19 17:33:16 -04:00
Rapptz
f5cfc96aaf
Add PCMVolumeTransformer to augment volume of a PCM stream.
...
This also introduces the idea of replacing the VoiceClient.source on
the fly. Note that this internally pauses and resumes the audio
stream.
2017-04-19 17:23:39 -04:00
Rapptz
07d5328873
Add VoiceClient.is_paused to query pause state.
2017-04-19 16:06:45 -04:00
Rapptz
55e63ed87f
Add VoiceClient.source to get the AudioSource being played.
2017-04-19 01:19:39 -04:00
Rapptz
efd6d11e9a
Fix static cut-off when playing.
2017-04-18 22:20:40 -04:00
Rapptz
aa32c384ea
Clean cache when TimeoutError occurs.
2017-04-18 20:13:34 -04:00
Rapptz
f9c2ac9d25
Better handling of VOICE_SERVER_UPDATE.
...
This now sort of respects "Awaiting Endpoint..." waiting. I haven't
actually tested out this case since it's hard to get it. However this
new code does work with the regular connection flow.
2017-04-18 19:05:34 -04:00
Rapptz
b4bc4dfd12
Fix FFmpegPCMAudio not working with spaces in filename.
2017-04-18 16:05:32 -04:00
Rapptz
1fc08bc5a2
Remove unused imports.
2017-04-18 04:22:35 -04:00
Rapptz
d534a0989e
Properly cleanup of VoiceClients in cache.
2017-04-18 04:09:33 -04:00
Rapptz
65bd510df6
Add Guild.voice_client shortcut.
2017-04-18 04:07:05 -04:00
Rapptz
3b1b26ffb1
Re-implement voice sending.
...
This is a complete redesign of the old voice code.
A list of major changes is as follows:
* The voice websocket will now automatically reconnect with
exponential back-off just like the regular Client does.
* Removal of the stream player concept.
* Audio now gracefully pauses and resumes when a disconnect is found.
* Introduce a discord.AudioSource concept to abstract streams
* Flatten previous stream player functionality with the
VoiceClient, e.g. player.stop() is now voice_client.stop()
* With the above re-coupling this means you no longer have to
store players anywhere.
* The after function now requires a single parameter, the error,
if any existed. This will typically be None.
A lot of this design is experimental.
2017-04-18 03:49:48 -04:00
Rapptz
38fd0928df
Don't clear state when READY is reached for auto sharded clients.
2017-04-16 02:32:23 -04:00
Rapptz
3983eb3ba5
Support for API v7 error handling.
2017-04-15 19:55:51 -04:00
Rapptz
22150b20b6
Start typing immediately when using async typing context manager.
2017-04-12 21:26:23 -04:00
Rapptz
0e5bf09021
Export missing enums.
2017-04-12 20:20:35 -04:00
Rapptz
728fae9285
Add Guild.explicit_content_filter.
2017-04-12 20:18:28 -04:00
Rapptz
cadf6960b7
Use create_future wrapper for initially created Future.
2017-04-12 19:55:01 -04:00
Rapptz
ac90159c72
Improve logging in more places.
...
This shows the Shard ID in more places, along with a gateway trace and
session ID. Also helps show the RESUME/IDENTIFY/RESUMED/READY flow a
bit more instead of it looking like the connection has zombied out.
2017-04-12 19:43:47 -04:00
Rapptz
3e15f46dcf
[commands] Bot.get_all_emojis no longer exists.
2017-04-12 05:00:50 -04:00
Rapptz
7da0884bfb
[commands] Export missing built-in converters.
2017-04-12 04:46:53 -04:00
Rapptz
982308da3c
Use global user cache to fetch reaction event data.
...
Also make sure it isn't dispatched unless the data meets the integrity
checks (i.e. not None).
2017-04-09 21:37:49 -04:00
Rapptz
580b4baef9
Fix view_audit_log incorrect pluralisation.
2017-04-08 18:05:46 -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
e5c5695399
Proper recursion when launching shards.
2017-04-07 23:23:48 -04:00
Rapptz
bcfb31779d
Fix KeyError in certain logging cases.
2017-04-07 23:22:44 -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
af0ba17885
Proper termination of HistoryIterator.flatten.
2017-03-30 03:27:44 -04:00