Commit Graph
3143 Commits
Author SHA1 Message Date
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
Hornwitser 320cd39b6a Print to stderr in on_error
Apparently the clever hack for logging in on_error was not so clever
after all.  If logging isn't configured, by the logging modules
definition of not configured, which is root logger not having an
Handlers attached, it will call logging.basicConfig().  Which messes up
setups that define handlers for other loggers than the root logger.

Going directly to the root logger rather than using the broken
convenience methods for logger is not an option either, as logger before
Python 3.2 does not have lastResort on the root logger, and prints an
error when invoked without any handlers.

Resolve by printing tracebacks to stderr by default in on_error.
2015-10-22 22:07:50 +02: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
Hornwitser 9ab1d041d4 Log to root logger by default in on_error
Change the default implementation of on_error to log to the root logger
instead of discord.client and clarify that the exception is being
ignored.  This ensures that a message will be output to standard error
in case the logging module has not been configured.

Also removes the argument printing for the default on_error, this is due
to them often being too long, that they could cause another exception to
be thrown, and because it sometimes causes sensitive information to be
output such as Discord tokens and session ids.  It was also possible for
the length to get in the megabyte range with exceptions thrown by
on_socket_raw_receive in READY events.
2015-10-21 01:03:25 +02: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 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
HornwitserandRapptz 023e0eb1d5 Use compact encoding for json on websocket
Remove extra whitespace from json encoding used when sending messages on
the websocket.
2015-10-16 16:20:04 -04:00
HornwitserandRapptz 07adb330db Add events for sniffing the WebSocket data
Add on_socket_raw_receive and on_socket_raw_send events for sniffing the
data being received and sent on the websocket. Useful for debugging and
logging websocket messages received and sent on the link to Discord's
servers.
2015-10-16 16:20:04 -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
Rasmus KarlssonandRapptz 75670fa0a2 Fixed get_default_role in Server attempting to access the wrong roles. 2015-10-15 01:37:52 -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 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