Commit Graph

1441 Commits

Author SHA1 Message Date
1e1b02c630 Check if we're closing the event loop before using it.
Should fix #545.
2017-05-20 11:58:29 -04:00
229c471106 More broken Channel references. 2017-05-20 08:48:04 -04:00
bd7b2e2d35 Oversight in Permissions still having a table. 2017-05-20 08:47:08 -04:00
f4e01b3a92 Make supported operations stand out more than attributes. 2017-05-20 02:08:34 -04:00
3727618b65 Kill remaining references to discord.Channel in documentation. 2017-05-19 21:58:02 -04:00
b81fbb5a7f [commands] Add Context.reinvoke and Command.root_parent
Context.reinvoke would be the new way to bypass checks and cooldowns.
However, with its addition comes a change in the invocation order of
checks, callbacks, and cooldowns. While previously cooldowns would
trigger after command argument parsing, the new behaviour parses
cooldowns before command argument parsing.

The implication of this change is that Context.args and Context.kwargs
will no longer be filled properly.
2017-05-19 21:33:39 -04:00
c3e39cd722 [commands] Fix Context.command_failed from being incorrect.
When used, it would be set to False after the invoke was done. Ideally
it should report to False during invoke but True during any error
case.
2017-05-18 20:48:38 -04:00
8526995004 Minor speedup when doing comparisons.
Shred 2 getattr calls + 1 global lookup to 1 global lookup.
2017-05-18 05:15:06 -04:00
8e34a256a4 Fix User == Member comparisons. 2017-05-18 05:12:48 -04:00
02d854a99c Fix format string in new bot template. 2017-05-17 19:48:51 -04:00
8aa04b7084 First pass at having a __main__ file.
This allows you to generate templates and projects easily. Its main
purpose is to be easy to use for beginners in the upcoming
documentation.

Two new commands are added:

* newbot
  * creates a new bot template using a name and optional directory
* newcog
  * creates a new cog template using a name and optional directory
2017-05-17 05:53:24 -04:00
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
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
7a84661312 Rename Colour.to_tuple to Colour.to_rgb. 2017-05-15 03:40:27 -04:00
6f53491f9a Add Colour.from_rgb. 2017-05-15 03:37:21 -04:00
c1130d2879 [commands] Update check examples to work with rewrite. 2017-05-15 02:52:20 -04:00
4023510032 Use describe for Colour documentation. 2017-05-15 02:29:03 -04:00
f73eb087c9 Use describe instead of tables for supported operations. 2017-05-13 18:48:14 -04:00
96eca8aa53 Add Colour.blurple and Colour.greyple. 2017-05-13 17:39:12 -04:00
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
cf2269fdf4 Fix some left over incorrect snippets. 2017-05-12 21:12:28 -04:00
b44bba6ee6 First pass at documentation reform. 2017-05-12 20:14:34 -04:00
be2e706b2a Rename abc.Callable to abc.Connectable. 2017-05-10 21:36:49 -04:00
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
8ef984746a [commands] Fix default error handler to work with the switch. 2017-05-10 19:36:46 -04:00
5106feaf57 Allow comparison between User and Member instances again. 2017-05-10 19:32:25 -04:00
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
6b063deda9 Only set the attribute if it isn't None. 2017-05-10 14:57:26 -04:00
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
8081a654e8 Remove Guild.change_vanity_invite in favour of Guild.edit 2017-05-09 17:49:05 -04:00
1db31d8339 Add back Client.create_guild. 2017-05-09 14:11:13 -04:00
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
152fc89508 Properly check for audit log entry termination. 2017-05-07 21:04:43 -04:00
140be3e4c8 Make AuditLogDiff.roles an empty list instead of None. 2017-05-07 12:09:28 -04:00
eb58ddffd8 Skip None action types when iterating. 2017-05-07 12:09:27 -04:00
dff6bcc745 Add support for audit log reasons.
Most routes now have a 'reason' keyword argument.
2017-05-07 03:08:06 -04:00
2b44876955 Fix NameError when making things Object in audit logs. 2017-05-07 01:06:15 -04:00
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
d7153b1b5c Replace hasattr with try except in chunker. 2017-05-05 21:45:51 -04:00
1626ade67d Split on_channel_pins_update as well. 2017-05-05 21:37:38 -04:00
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
c20ba51e28 [commands] Export is_nsfw check. 2017-05-05 20:21:28 -04:00
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
86bfcdd129 Add support for message delete audit log action type. 2017-05-04 04:35:02 -04:00
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
fac43ad595 Fix NameError in HTTPClient.kick 2017-05-02 20:14:40 -04:00
c8937ed2aa [commands] Add is_nsfw check. 2017-05-01 22:36:22 -04:00
c9565e57d3 Make sure that the chunker task only runs once. 2017-05-01 22:34:24 -04:00
ba2dad2093 Add support for setting and retrieving guild vanity invites. 2017-04-30 07:17:00 -04:00
86b9099f3a Changed audit_log to audit_logs in documentation 2017-04-30 12:56:58 +02:00