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
Twentysix
86b9099f3a
Changed audit_log to audit_logs in documentation
2017-04-30 12:56:58 +02: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