Commit Graph
100 Commits
Author SHA1 Message Date
Rapptz d440e52a00 Add new_member.py example to showcase messaging new members. 2015-11-27 18:30:20 -05:00
Rapptz c25e667866 discord.Server is a valid destination in Client.send_message & co. 2015-11-27 18:19:38 -05:00
Rapptz 90d9c9b297 reply.py example now checks for self-authoring 2015-11-27 18:01:52 -05:00
Rapptz 7c060ee7f6 Document supported operations in discord.User 2015-11-27 17:59:22 -05:00
Rapptz 9fb2186785 Update to the new colours. 2015-11-27 17:56:35 -05:00
Rapptz e884119cd9 Performance improvements in on_typing event. 2015-11-27 17:29:36 -05:00
Rapptz b1b2c0d099 Add LoginFailure exception for a clearer failure in Client.login
The older HTTPException is not exactly the clearest thing for people
who are new to programming or HTTP exceptions in general.
2015-11-27 17:03:36 -05:00
Rapptz f83442096b Client.edit_message no longer checks for private channel. 2015-11-27 16:01:39 -05:00
Rapptz 4a32ae444a Add the message to the exception output. 2015-11-27 03:34:37 -05:00
Rapptz e75edc2e57 Document Client.run reconnection idiosyncrasy. 2015-11-26 23:59:16 -05:00
Rapptz 4a25011ee1 Revert "GIF support for avatars"
This reverts commit 9a5bb439ec.
2015-11-26 23:12:10 -05:00
Rapptz 9a5bb439ec GIF support for avatars 2015-11-26 22:55:26 -05:00
Rapptz f0617fbb6a Add support for uploading avatars. 2015-11-26 22:14:04 -05:00
Rapptz 077817c126 Move _null_event and _verify_successful_response to utils
They might be used in other files in the future.
2015-11-26 21:09:50 -05:00
Rapptz af9e5bc67a Simplify examples to no longer use logging or Client.is_logged_in
The logging module is no longer required to get diagnostic output
since we use `stderr` by default regardless of the logging module.
Which means that the logging module will only give a more verbose
output than is necessary.

Client.is_logged_in checking is no longer necessary since all HTTP
request handling now raise an exception if they fail so those chunks
are also gone.
2015-11-26 19:30:09 -05:00
Rapptz ea80812fdd Add Client.get_invite to turn a URL to an Invite object. 2015-11-26 19:05:31 -05:00
Rapptz 0d19273844 Client.accept_invite and Client.register now accept invite IDs. 2015-11-26 18:43:26 -05:00
Rapptz 7f94f75223 Handle TYPING_START event. 2015-11-24 21:11:53 -05:00
Rapptz 2e03927f2c Merge send_raw_file and send_file 2015-11-21 01:31:51 -05:00
Rapptz 57312d96f7 Fix annoying lack of parenthesis at end of HTTPException 2015-11-20 23:35:23 -05:00
Rapptz 5ca04ea08f Use try-except instead of checking for membership.
Basically, a lot of the checks revolving "if x in y" could be written
more efficiently by doing the task anyway and ignoring the exception
a la the EAFP guideline.
2015-11-20 17:39:51 -05:00
Rapptz acbbaa39ad Add Message.channel_mentions 2015-11-19 23:10:15 -05:00
Rapptz da37ff16c1 Add get_raw_[channel_]mentions to Message 2015-11-19 23:01:43 -05:00
Rapptz e88c194e9a Fix is_private check in mentions array handling. 2015-11-19 22:21:15 -05:00
Rapptz 692a6a3bc6 Fix ordering issue with Message.server 2015-11-18 20:04:27 -05:00
Rapptz 75658f46a2 Message.mentions now returns a list of Member instead of User 2015-11-16 21:18:30 -05:00
Rapptz cc59654216 Add Client.get_all_channels and Client.get_all_members 2015-11-16 21:02:23 -05:00
Rapptz d1a7d2cad2 Documentation fixes for Client.logs_from 2015-11-16 20:52:56 -05:00
Rapptz 3e072db5d0 Fix Client.unban parameter name (name -> user) 2015-11-16 18:20:44 -05:00
Rapptz 52c1d134ba Clean-up guild_delete. 2015-11-16 18:19:52 -05:00
Rapptz 5ecaf1df4c Make unavailable default to None. 2015-11-16 18:15:34 -05:00
Rapptz 3d70966021 Attempt to fix unavailable guilds again 2015-11-16 17:23:05 -05:00
Rapptz 85ac03a081 Role.is_everyone actually uses the proper check. 2015-11-09 00:33:15 -05:00
Rapptz 054cf2e1e0 Channel.permissions_for now correctly handles everyone overwrites. 2015-11-09 00:32:38 -05:00
Rapptz 7a4fab5566 Change iterable to an argument list in role related documentation. 2015-11-07 18:08:50 -05:00
Rapptz ad6fbbfe43 Fix Client.create_role 2015-11-07 16:28:37 -05:00
Rapptz 7161723034 Change on_server_create/delete to on_server_join/remove. 2015-11-01 15:30:20 -05:00
Rapptz 822e54200d Document Client.login raising exceptions. 2015-10-27 23:02:50 -04:00
Rapptz 9b2a78a031 Add InvalidArgument exception and change exceptions thrown. 2015-10-27 21:25:21 -04:00
Rapptz 027b7b33c9 All HTTP requests now throw HTTPException. 2015-10-27 21:19:32 -04:00
Rapptz cc397d6e6a Document cases where GatewayNotFound is thrown. 2015-10-27 19:11:56 -04:00
Rapptz 3266d1ed10 GatewayNotFound now has a default message. 2015-10-27 19:08:29 -04:00
Rapptz d14bffcd96 Rename InvaldiDestination to a generic ClientException. 2015-10-27 19:02:12 -04:00
Rapptz 61e41ec3b9 All exceptions now derive from DiscordException. 2015-10-27 18:09:26 -04:00
Rapptz 6ae6bd8e6d Remove InvalidEventName exception due to it being unused 2015-10-27 18:03:51 -04:00
Rapptz f770fc1c67 Add discord.Object to the documentation. 2015-10-27 17:59:23 -04:00
Rapptz dd2e08e185 Add support for passing in Object to methods. 2015-10-27 17:39:51 -04:00
Rapptz c49ff36a7b Make Message.channel an Object if something goes wrong.
Fixes #21
2015-10-27 17:21:08 -04:00
Rapptz 9f12067b3d Add discord.Object class for generic pass-by-ID. 2015-10-27 17:04:50 -04:00
Rapptz a0073c734e Split data classes into more files. 2015-10-27 16:23:20 -04:00
Rapptz 616f2bb4e9 Remove the name from logging.
Fixes #28.
2015-10-25 23:17:02 -04:00
Rapptz 60dfd04439 Check if member is in list for GUILD_MEMBER_REMOVE. 2015-10-25 23:08:06 -04:00
Rapptz 2938d0cfcf Don't update member.roles in add/remove_roles. 2015-10-24 23:36:12 -04:00
Rapptz 5efddaf35d Support unavailable servers. 2015-10-24 05:10:58 -04:00
Rapptz 72674b4c2d Add Channel.mention to mention a channel. 2015-10-23 21:04:52 -04:00
Rapptz 1a13f9ad30 Add Message.server attribute shortcut. 2015-10-23 17:41:28 -04:00
Rapptz 8552e24945 Version bump to v0.8.0 2015-10-22 22:21:52 -04:00
Rapptz f018895f2c Fix documentation warnings. 2015-10-22 22:20:36 -04:00
Rapptz 6981c51e0a Change default parameter to None for Client.set_channel_permissions 2015-10-22 22:20:35 -04:00
Rapptz 6f76a5ab33 Add Client.delete_channel_permissions
Fixes #18
2015-10-22 22:20:35 -04:00
Rapptz ec5b7bb493 Add Client.set_channel_permissions 2015-10-22 22:20:34 -04:00
Rapptz b94dffaf87 Change Permissions constants to be class method factories instead. 2015-10-22 22:20:34 -04:00
Rapptz 8b8312608c Change Colour constants to be class method factories instead. 2015-10-22 22:20:33 -04:00
Rapptz 9188184e85 Fix permission resolution in Channel.permissions_for 2015-10-22 22:20:33 -04:00
Rapptz b9c40955ab Add instructions for installing development version. 2015-10-21 21:09:50 -04:00
Rapptz c8535f714e Documentation fixes for Message. 2015-10-21 21:09:01 -04:00
Rapptz ce9a8ff75b Add note for edit_role about custom RGB colours. 2015-10-21 20:38:28 -04:00
Rapptz d2741ca38a Better detection for the everyone role. Fixes #23. 2015-10-21 20:27:08 -04:00
Rapptz edd3d47220 Add Client.replace_roles 2015-10-21 19:46:33 -04:00
Rapptz 6bb6a0a0a7 Add Client.add_roles and Client.remove_roles 2015-10-21 19:44:37 -04:00
Rapptz 77253d7717 Fix Client.create_invite invalid method call issue. 2015-10-20 15:59:45 -04:00
Rapptz 0e106cd8c4 Change default limit for Client.logs_from to 100. 2015-10-19 08:31:28 -04:00
Rapptz 7ff2cd008f Properly set requirements of ws4py and requests. 2015-10-18 23:34:27 -04:00
Rapptz e2af5d545a Add Client.create_role to create a server-wide role. 2015-10-17 17:54:16 -04:00
Rapptz 84e9300a3d Change Client.edit_role to be less stateful. 2015-10-17 17:53:55 -04:00
Rapptz 8fbaa29e9c Document Permissions constants and set default permissions to 0. 2015-10-17 07:17:40 -04:00
Rapptz 61f62c1468 Add Channel.permissions_for and PrivateChannel.permissions_for.
These functions handle permission resolution for a specific member.

Aids with #18.
2015-10-17 06:21:51 -04:00
Rapptz 2813652995 Fix bug with member voice state update. 2015-10-17 05:27:10 -04:00
Rapptz a9fd4fc4e3 Better detection for the @everyone role. 2015-10-17 04:13:15 -04:00
Rapptz ba978cc988 Add Role.managed property. 2015-10-16 23:20:53 -04:00
Rapptz c4f7664bd9 Only remove if the user is actually in the voice channel. 2015-10-16 20:11:29 -04:00
Rapptz 1080941e5e on_socket_response now handles non-op 0 websocket messages. 2015-10-16 18:49:55 -04:00
Rapptz be14fd1dcc Add Channel.voice_members
This allows you to see which members are currently in a voice
channel.
2015-10-16 15:52:11 -04:00
Rapptz 411b477a02 Separate colour tuple into its own class.
Also enumerate all the constant colours that Discord currently
supports.
2015-10-16 07:48:50 -04:00
Rapptz ab2512785b Handle VOICE_STATE_UPDATE websocket events.
This adds a lot of new attributes into the Member class
such as giving a voice_channel that the user is currently connected
to. Initially there was a plan to have a voice_members attribute
in the Channel class but this proved to be difficult when it came to
actually removing users from the voice channel as the response would
return channel_id as null.

Fixes #16.
2015-10-15 01:37:55 -04:00
Rapptz 4ff7d22edd Handle GUILD_ROLE_UPDATE websocket events. 2015-10-15 01:37:55 -04:00
Rapptz 16a20e5f2f Handle GUILD_ROLE_DELETE websocket events. 2015-10-15 01:37:54 -04:00
Rapptz 9235a34916 Handle GUILD_ROLE_CREATE websocket events. 2015-10-15 01:37:54 -04:00
Rapptz 4ec052a35c Check if the server is valid during GUILD_MEMBER_REMOVE. 2015-10-15 01:37:53 -04:00
Rapptz a130706f23 Add Client.change_status. 2015-10-14 18:54:45 -04:00
Rapptz 15b83b2743 Message.author is now either Member or User.
Closes #11.
2015-10-14 05:58:04 -04:00
Rapptz e24806660d Version bump to v0.7.0 2015-10-13 06:28:39 -04:00
Rapptz 0b27044252 Client.send_file now properly closes the file-object. 2015-10-13 06:16:29 -04:00
Rapptz 1f37fe72f2 Documentation cleanup.
Documented the new way of listening to events as well the new
events that could be listened thanks to the recent refactor.

Also uses the versionadded directive to document when something new
is added to the library.
2015-10-13 05:39:59 -04:00
Rapptz c64420f9d3 Add role colour and hoisting to edit_role. 2015-10-13 05:39:59 -04:00
Rapptz 608384dd4f Parse role colour and other new role attributes.
New attributes include hoist, position, and of course colour. An
alias is in place for British and American spellings (i.e. color).
2015-10-13 05:39:58 -04:00
Rapptz 8b03918c3d Client.send_message can now accept a string ID as the destination. 2015-10-13 05:39:58 -04:00
Rapptz 2559051e06 Pass kwargs to all constructors for future proofing. 2015-10-13 05:39:57 -04:00
Rapptz 6074fe0783 Client.register now takes an invite URL or class. 2015-10-11 07:28:55 -04:00
Rapptz 03d477edd8 edit_profile now returns True or False depending on success. 2015-10-11 06:42:41 -04:00