aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Explicitly close UDP sockets when re-creating them.Rapptz2017-05-021-1/+10
| | | | | This does not actually make a big difference since the GC should technically close them when needed but might as well be more explicit.
* Fix NameError in HTTPClient.kickRapptz2017-05-021-1/+1
|
* [commands] Add is_nsfw check.Rapptz2017-05-011-0/+6
|
* Make sure that the chunker task only runs once.Rapptz2017-05-011-25/+34
|
* Add support for setting and retrieving guild vanity invites.Rapptz2017-04-303-0/+64
|
* Changed audit_log to audit_logs in documentationTwentysix2017-04-303-3/+3
|
* Implement audit logs.Rapptz2017-04-309-14/+1294
|
* Better TextChannel.is_nsfw() check.Rapptz2017-04-301-1/+1
|
* Add Client.get_emoji to get an Emoji from an ID.Rapptz2017-04-302-0/+7
|
* Add TextChannel.is_nsfw method to check for NSFW channels.Rapptz2017-04-261-0/+5
|
* Don't set VoiceClient.channel to None when VOICE_STATE_UPDATE says so.Rapptz2017-04-261-1/+3
| | | | | | Sometimes VOICE_STATE_UPDATE gives us a channel_id: null payload and we would end up clearing the VoiceClient.channel state along with it.
* [commands] Fix lack of space in when_mentionedRapptz2017-04-241-1/+1
|
* [commands] Add Context.voice_client shortcut.Rapptz2017-04-241-0/+6
|
* [commands] Make when_mentioned always have both mention formats.Rapptz2017-04-241-5/+2
| | | | | This will allow it to work in mobile clients which don't respect the <@!id> format in case of nicknames.
* Wait 5 seconds before attempting to RESUME during INVALIDATE_SESSION.Rapptz2017-04-221-0/+1
|
* Fix some linting errors.Rapptz2017-04-222-5/+2
|
* Fix NameError in Role.edit when moving roles.Rapptz2017-04-221-0/+1
|
* Fix NameError in GuildChannel.changed_rolesRapptz2017-04-221-0/+1
|
* Timeout when doing initial connection.Rapptz2017-04-223-16/+25
|
* [commands] Allow loading cogs from folders.Rapptz2017-04-212-9/+10
| | | | | | | | | 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.
* Allow using Reaction objects while adding or removing reactions.Rapptz2017-04-211-6/+10
|
* Support for new member message types.Rapptz2017-04-212-0/+29
|
* Allow setting a default volume in PCMVolumeTransformer.Rapptz2017-04-191-2/+5
|
* Add PCMVolumeTransformer to augment volume of a PCM stream.Rapptz2017-04-193-4/+72
| | | | | | This also introduces the idea of replacing the VoiceClient.source on the fly. Note that this internally pauses and resumes the audio stream.
* Add VoiceClient.is_paused to query pause state.Rapptz2017-04-192-0/+7
|
* Add VoiceClient.source to get the AudioSource being played.Rapptz2017-04-191-0/+5
|
* Fix static cut-off when playing.Rapptz2017-04-181-2/+8
|
* Clean cache when TimeoutError occurs.Rapptz2017-04-181-1/+1
|
* Better handling of VOICE_SERVER_UPDATE.Rapptz2017-04-183-29/+34
| | | | | | 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.
* Fix FFmpegPCMAudio not working with spaces in filename.Rapptz2017-04-181-1/+1
|
* Remove unused imports.Rapptz2017-04-189-31/+10
|
* Properly cleanup of VoiceClients in cache.Rapptz2017-04-182-3/+7
|
* Add Guild.voice_client shortcut.Rapptz2017-04-181-1/+5
|
* Re-implement voice sending.Rapptz2017-04-1811-527/+599
| | | | | | | | | | | | | | | | | | | | 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.
* Don't clear state when READY is reached for auto sharded clients.Rapptz2017-04-161-1/+0
|
* Support for API v7 error handling.Rapptz2017-04-152-7/+37
|
* Start typing immediately when using async typing context manager.Rapptz2017-04-121-6/+17
|
* Export missing enums.Rapptz2017-04-122-1/+4
|
* Add Guild.explicit_content_filter.Rapptz2017-04-123-2/+30
|
* Use create_future wrapper for initially created Future.Rapptz2017-04-121-1/+1
|
* Improve logging in more places.Rapptz2017-04-123-14/+21
| | | | | | 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.
* [commands] Bot.get_all_emojis no longer exists.Rapptz2017-04-121-2/+2
|
* [commands] Export missing built-in converters.Rapptz2017-04-121-1/+1
|
* Use global user cache to fetch reaction event data.Rapptz2017-04-091-9/+6
| | | | | Also make sure it isn't dispatched unless the data meets the integrity checks (i.e. not None).
* Fix view_audit_log incorrect pluralisation.Rapptz2017-04-081-1/+1
|
* Fix File not using the filename if givenFrostLuma2017-04-081-0/+2
|
* Add support for multiple file attachments.Rapptz2017-04-085-31/+122
| | | | | | | 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.
* Proper recursion when launching shards.Rapptz2017-04-071-1/+1
|
* Fix KeyError in certain logging cases.Rapptz2017-04-071-2/+2
|
* Use an asyncio.Event instead of an asyncio.Lock for global rate limits.Rapptz2017-04-011-6/+8
| | | | | | | 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.