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
Rapptz
7f58853e3a
Keep track of Emoji instances myself.
...
WeakValueDictionary cleans up too late and brings too little benefit.
Also clean up the state when the first READY is encountered for
AutoShardedClient and when any READY is encountered in regular Client.
2017-03-29 04:36:06 -04:00
Rapptz
e1c32626ba
[commands] Fix User converter not working with IDs.
2017-03-27 20:08:26 -04:00