4779 Commits

Author SHA1 Message Date
Khazhismel Kumykov
29b01f20ba Fix Member.display_name returning None
If Member.nick was None, getattr would happily return None, not the
default value.
2016-04-29 15:13:15 -04:00
Rapptz
7f09acf871 [commands] Allow role mentions to work with discord.Role params.
This also fixes the Member regex to support the new <@!user_id> syntax
and allows colours to have a leading # before the number.
2016-04-29 08:45:12 -04:00
Rapptz
e112536ce2 Simplify User.display_name a bit. 2016-04-29 08:27:19 -04:00
Rapptz
85806ef1d6 Handle nicknames in Server.get_member_named 2016-04-29 08:20:16 -04:00
Rapptz
79f6554289 Add Message.role_mentions and handle them in Message.clean_content 2016-04-29 07:54:49 -04:00
Rapptz
abb955fdaa Add Role.mention property 2016-04-29 07:24:32 -04:00
Rapptz
07adb1d5e9 Add ability to change nicknames via Client.change_nickname 2016-04-29 07:18:01 -04:00
Rapptz
133e8d3a44 Add support for server specific nicknames. 2016-04-29 06:39:21 -04:00
Rapptz
cc78cfedb6 Add permissions for changing or managing nicknames. 2016-04-29 06:23:09 -04:00
Rapptz
c1b5a52823 Refactor voice websocket into gateway.py 2016-04-27 18:36:24 -04:00
Rapptz
1c623ccf11 Begin working on gateway v4 support.
Bump websockets requirement to v3.1

Should be squashed...
2016-04-27 18:36:13 -04:00
Rapptz
fda0c8cea0 Add compatibility layer for run_coroutine_threadsafe.
This is a breaking change, since discord.utils.create_task is moved
to discord.compat.create_task.
2016-04-25 20:52:16 -04:00
Rapptz
e0ca746ad4 [commands] Make sure that mentions are the entire string. 2016-04-23 02:13:34 -04:00
Rapptz
54e9be7aed Message.clean_content now takes into consideration @here mentions. 2016-04-23 02:13:33 -04:00
Daniel
5a2b8e2ce6 Properly close session if client failed to start
`keep_alive` was not defined until it was created in `received_message`, `ws` is `None` until its actually connected, which doesn't always happen.  If an error happens before things start up properly, the client should now clean its objects up (fixes `unclosed client session` warning).
2016-04-22 22:40:25 -04:00
cookie
bd5effeb68 Add optional redirect_uri parameter to utils.oauth_url 2016-04-18 00:47:55 -04:00
Rapptz
8d7dd79673 Fix deadlock issue when joining large guilds. 2016-04-15 23:27:23 -04:00
Matt Gardner
cc23a54d58 Typo fix
Changed spelling of optinal to the correct spelling of optional in
docs\logging.rst
2016-04-15 21:53:35 -04:00
Khazhismel Kumykov
a2a5dc5997 Add optional server parameter to utils.oauth_url 2016-04-15 21:04:33 -04:00
Rapptz
03862a7145 Add a None check when setting status in Client.change_status. 2016-04-14 20:38:13 -04:00
Rapptz
7adf761a35 Retry if send_message or edit_message encounter a 502. 2016-04-14 13:16:27 -04:00
Rapptz
054c9c7109 [commands] CommandError derived exceptions in checks don't crash help. 2016-04-13 14:25:45 -04:00
Rapptz
7eb9a7dfdc Handle bot tag updates in GUILD_MEMBER_UPDATE. 2016-04-12 18:19:02 -04:00
Rapptz
53bc9a3007 Yield from parser coroutine instead of making it a task.
This should give us a bit better sequential message processing.
2016-04-12 18:18:03 -04:00
Rapptz
03041bdb0a Add Channel.overwrites_for function to get allow/deny pairs. 2016-04-12 13:10:43 -04:00
Rapptz
7023b353f6 User JSON object has 'username' keys not 'name'. 2016-04-11 14:39:04 -04:00
Rapptz
5c407df2b7 Fix Client.login documentation to showcase email/password login. 2016-04-11 14:30:44 -04:00
Rapptz
28b3d375e9 Check the right status code for improper token being passed. 2016-04-11 14:25:20 -04:00
Rapptz
6076c8c671 Better chunking behaviour and add members on PRESENCE_UPDATE.
This should hopefully cover all cases where members are added.
There was a bug where an array of chunks received would get entirely
processed if only a single chunk was received. This was fixed by
explicitly bailing early if we're requesting for chunks.
2016-04-11 14:24:15 -04:00
Khazhismel
84f1342b85 Fix chunk requests not actually being batched. 2016-04-11 11:53:54 -04:00
Rapptz
0401ab561b Proper chunking for unavailable guilds.
This will also delay on_ready until all chunking is complete.
2016-04-10 00:47:00 -04:00
Rapptz
29d3f5a886 Allow Client.edit_profile to work with bot accounts. 2016-04-09 21:42:26 -04:00
Rapptz
fa14c72836 Add User.bot attribute to check if a user is a bot account. 2016-04-09 21:42:25 -04:00
Khazhismel Kumykov
9f722731dd Fix typo in Role.created_at 2016-04-09 02:33:09 -04:00
Rapptz
eedad13ac1 Add utility function for generating OAuth2 urls. 2016-04-08 22:51:57 -04:00
Rapptz
72e84a1b47 Change all email/password pair examples to use token. 2016-04-08 22:02:38 -04:00
Rapptz
93edf88ee4 Change login, start and run to be variadic. 2016-04-08 22:00:06 -04:00
Rapptz
222a89a653 Fix unclosed response and document token login a bit better. 2016-04-08 21:16:30 -04:00
Max Gurela
7f340f88ad Add support for token login (for bots) 2016-04-08 21:11:22 -04:00
Rapptz
e64787a415 Guard against AttributeErrors when clearing cached slot cache. 2016-04-05 18:22:44 -04:00
Rapptz
dfd51b95d6 Make Message.clean_content a cached property again.
Instead, clear the cached properties so they will be re-cached when
invoked again.
2016-04-05 18:01:55 -04:00
Zeta
f235dc5ca4 Fix handling of message update in MESSAGE_UPDATE 2016-04-05 18:01:54 -04:00
Khazhismel Kumykov
160cbc81e7 Clarify channel-specific permissions documentation.
Manage Roles and Manage Channels is renamed to "Manage Permissions" and
"Manage Channel" in the discord UI, clarify which fields in the Permission
object those map to.
2016-04-05 14:30:04 -04:00
Khazhismel Kumykov
0e91ef79ef Fix handling of unavailable servers in READY 2016-04-04 23:45:05 -04:00
Rapptz
82b2421ac7 [commands] Add deterministic cog unloading.
The special function is `__unload` to prevent with name conflicts with
existing or future cogs.
2016-04-04 04:45:15 -04:00
Rapptz
8b7f15ef8d Skip member_update event when a member is not in a guild. 2016-04-02 23:38:45 -04:00
Rapptz
4451091c91 [commands] Fix pagination logic a little inside HelpFormatter.
This should prevent pages accidentally reaching >2k chars.
2016-04-02 08:15:34 -04:00
Rapptz
d79a13d7bc [commands] Refactor special cased discord.py converters.
Code is a little more straightforward. The Member and Channel special
cases will now work in private message contexts when given a name. The
Member special case will also work if you pass in a name and
discriminator combo.
2016-04-01 07:27:39 -04:00
Rapptz
1a202bb6eb Add Server.get_member_named to help with name + discriminator lookups. 2016-04-01 05:59:58 -04:00
Rapptz
f93fa8a0b2 User.__str__ now includes the discriminator. 2016-04-01 05:48:31 -04:00