Commit Graph

67 Commits

Author SHA1 Message Date
9075d46efd Add on_member_ban and on_member_unban events.
Fixes #58.
2015-12-17 18:22:16 -05:00
00c9ac59c1 Fix consistency issue with migrating page. 2015-12-17 16:58:01 -05:00
00c8dae88d Add migrating guide for migrating to v0.10.0. 2015-12-17 07:12:18 -05:00
63565026c4 Remove on_status event. Superseded by on_member_update. 2015-12-17 06:18:08 -05:00
49d78c69c7 All update related events now pass in the previous state. 2015-12-17 06:05:35 -05:00
f8af89f88c Add headers to data classes for easier navigation. 2015-12-09 23:35:31 -05:00
5335f468d2 Document discord.__version__ and discord.version_info 2015-12-09 19:56:41 -05:00
9bec041423 Documentation fixes for opus related import errors. 2015-12-08 19:47:47 -05:00
72f355bb64 Add OpusNotLoaded exception and opus.is_loaded utility function. 2015-12-08 19:37:34 -05:00
9deb7796a5 Documentation fixes for opus bindings. 2015-12-08 16:22:01 -05:00
60945868b4 Clear up some documentation. 2015-12-08 06:51:46 -05:00
80b32e769e Handle GUILD_UPDATE 2015-12-06 03:09:55 -05:00
79bdf2a721 Add enumerators instead of strings.
Changes channel type, status and server region into 3.4 enums.
2015-12-04 22:13:17 -05:00
6fb2e35de3 Move async_client.py to client.py 2015-12-04 06:09:56 -05:00
410e41e78d Implement a bunch of other HTTP request functions. 2015-12-04 06:08:29 -05:00
99254fdf96 Add Forbidden and NotFound exceptions. 2015-12-04 01:23:52 -05:00
f197c34583 Begin working on asyncio port. 2015-12-04 00:16:34 -05:00
343e3376ea on_member_update now takes in the older member state as a parameter. 2015-11-30 07:37:48 -05:00
307392ff19 on_status event now has the old game ID and old status as parameters. 2015-11-30 03:31:47 -05:00
31fd5023f1 Miscellaneous documentation fixes. 2015-11-30 03:15:56 -05:00
5d4c555711 Switch to Sphinx RTD theme. 2015-11-28 21:00:35 -05:00
d243d0895c Add note about data classes instances. 2015-11-28 20:42:56 -05:00
e884119cd9 Performance improvements in on_typing event. 2015-11-27 17:29:36 -05:00
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
7f94f75223 Handle TYPING_START event. 2015-11-24 21:11:53 -05:00
7161723034 Change on_server_create/delete to on_server_join/remove. 2015-11-01 15:30:20 -05:00
9b2a78a031 Add InvalidArgument exception and change exceptions thrown. 2015-10-27 21:25:21 -04:00
027b7b33c9 All HTTP requests now throw HTTPException. 2015-10-27 21:19:32 -04:00
d14bffcd96 Rename InvaldiDestination to a generic ClientException. 2015-10-27 19:02:12 -04:00
61e41ec3b9 All exceptions now derive from DiscordException. 2015-10-27 18:09:26 -04:00
6ae6bd8e6d Remove InvalidEventName exception due to it being unused 2015-10-27 18:03:51 -04:00
f770fc1c67 Add discord.Object to the documentation. 2015-10-27 17:59:23 -04:00
9f12067b3d Add discord.Object class for generic pass-by-ID. 2015-10-27 17:04:50 -04:00
5efddaf35d Support unavailable servers. 2015-10-24 05:10:58 -04:00
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
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
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
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
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
4ff7d22edd Handle GUILD_ROLE_UPDATE websocket events. 2015-10-15 01:37:55 -04:00
16a20e5f2f Handle GUILD_ROLE_DELETE websocket events. 2015-10-15 01:37:54 -04:00
9235a34916 Handle GUILD_ROLE_CREATE websocket events. 2015-10-15 01:37:54 -04:00
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
e258c9b893 Clarify logging and on_error documentation
Change the description of on_error to reflect that exceptions are logged
and not output by default. Add a note about not configuring logging
causing exceptions to be silently ignored in handlers in the API. And
add some more explanations and a simpler configuration example to the
logging description.
2015-10-06 19:09:16 +02:00
74a06e0b79 Change behaviour of on_error
Change how the old style on_error event is called to match the new style
on_error event.  Both are now called in case an exception is raised in
an user defined event handler, and will by default print the arguments
of the event tha raised the exception and the traceback for the
exception.  In addition, overridding the on_error handler supresses this
behaviour.
2015-10-06 19:09:16 +02:00
120b9cd3b2 Listen to CHANNEL_UPDATE events and add on_channel_update 2015-09-25 16:09:10 -04:00
bbf1c5418b Add support for logging. 2015-09-16 17:27:52 -04:00
a2b981d19e Document discord.utils.find function 2015-09-14 00:08:43 -04:00
73919fe152 Documentation fixes and version bump. 2015-09-05 01:05:08 -04:00
4aecd5f7b5 Add on_error event for doing something about uncaught exceptions. 2015-09-05 00:46:18 -04:00