Commit Graph
490 Commits
Author SHA1 Message Date
Rapptz 56650ae7c2 Change raw events to use slotted data models instead of parameters.
This allows for internal changes in Discord to not cause a breaking
change every time something changes.

Also implements #1214 which adds guild_id to every event where
applicable.

This is a breaking change.
2018-04-14 02:23:38 -04:00
Rapptz f8f8f418f3 Split Game object to separate Activity subtypes for Rich Presences.
This is a massive breaking change.

* All references to "game" have been renamed to "activity"
* Activity objects contain a majority of the rich presence information
* Game and Streaming are subtypes for memory optimisation purposes for
  the more common cases.
* Introduce a more specialised read-only type, Spotify, for the
  official Spotify integration to make it easier to use.
2018-03-05 11:15:49 -05:00
FrostLuma c32b28f46d Add documentation for new_member system messages 2018-01-22 17:46:28 +01:00
Gorialis 04d9dd9c0d Change PartialReactionEmoji to PartialEmoji, add a PartialEmojiConverter 2018-01-06 17:32:25 -05:00
Tobotimus 3112e1c17e Add intersphinx 2018-01-06 17:23:59 -05:00
Mippy (William) 98c8928934 Missing Voice Regions 2017-11-12 16:58:31 -05:00
Rapptz dbf8b5bda6 Fix header size warnings. 2017-09-21 21:16:00 -04:00
Rapptz 53b4890435 Add category support.
This adds:

* CategoryChannel, which represents a category
* Guild.by_category() which traverses the channels grouping by category
* Guild.categories to get a list of categories
* abc.GuildChannel.category to get the category a channel belongs to
* sync_permissions keyword argument to abc.GuildChannel.edit to sync
  permissions with a pre-existing or new category
* category keyword argument to abc.GuildChannel.edit to move a channel
  to a category
2017-09-13 09:44:36 -04:00
Steve C 4d421377e4 Fix on_guild_join param doc 2017-08-27 16:08:06 -04:00
Rapptz 37b0fdb898 Add webhook support.
Allows for usage of either `requests` and `aiohttp` when used in
"Standalone" mode.

Fixes #704
2017-08-21 01:57:07 -04:00
Rapptz 13c6a0a17a Add support for Guild.system_channel 2017-08-17 18:14:52 -04:00
Gorialis 1582116b72 Add documentation examples for AsyncIterator and change_presence. 2017-08-08 17:31:08 -04:00
Gorialis 20fae90a08 Add operation documentation for VerificationLevel, ContentFilter 2017-08-02 01:38:15 +09:00
Rapptz 9cfa39a1c7 Fix AsyncIterator documentation to properly show coroutines. 2017-07-29 15:26:02 -04:00
Rapptz bd67cb5137 Hide constructor for objects that shouldn't be created by users. 2017-07-05 17:30:36 -04:00
Rapptz e0f02f1775 Rename AsyncIterator.get to next to prevent shadowing. 2017-07-04 10:45:38 -04:00
Rapptz 25a1d8c300 Add support for user flags in Profile. 2017-06-30 18:49:49 -04:00
Rapptz d239cc2666 Implement "partial" message events.
These are events that get triggered regardless of the state of the
message cache. Useful for getting data from before the bot was booted.
2017-06-09 18:36:59 -04:00
Rapptz 6135d4cd45 Fix typing/history showing up twice in the documentation. 2017-06-03 02:46:20 -04:00
Rapptz 8d3279b291 Implement an Attachment model. 2017-05-30 22:27:45 -04:00
Rapptz 83f86f902a Rename verification level to extreme due to demand. 2017-05-27 22:19:31 -04:00
Rapptz ee3c77353f Add highest verification level. 2017-05-27 01:12:06 -04:00
Rapptz 3727618b65 Kill remaining references to discord.Channel in documentation. 2017-05-19 21:58:02 -04:00
Rapptz b44bba6ee6 First pass at documentation reform. 2017-05-12 20:14:34 -04:00
Rapptz 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
Rapptz 140be3e4c8 Make AuditLogDiff.roles an empty list instead of None. 2017-05-07 12:09:28 -04:00
Rapptz 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
Rapptz 86bfcdd129 Add support for message delete audit log action type. 2017-05-04 04:35:02 -04:00
Rapptz ba2dad2093 Add support for setting and retrieving guild vanity invites. 2017-04-30 07:17:00 -04:00
Twentysix 86b9099f3a Changed audit_log to audit_logs in documentation 2017-04-30 12:56:58 +02:00
Rapptz c54a6a927d Implement audit logs. 2017-04-30 02:58:27 -04:00
Rapptz f5cfc96aaf Add PCMVolumeTransformer to augment volume of a PCM stream.
This also introduces the idea of replacing the VoiceClient.source on
the fly. Note that this internally pauses and resumes the audio
stream.
2017-04-19 17:23:39 -04:00
Rapptz 3b1b26ffb1 Re-implement voice sending.
This is a complete redesign of the old voice code.

A list of major changes is as follows:

* The voice websocket will now automatically reconnect with
  exponential back-off just like the regular Client does.
* Removal of the stream player concept.
* Audio now gracefully pauses and resumes when a disconnect is found.
* Introduce a discord.AudioSource concept to abstract streams
* Flatten previous stream player functionality with the
  VoiceClient, e.g. player.stop() is now voice_client.stop()
* With the above re-coupling this means you no longer have to
  store players anywhere.
* The after function now requires a single parameter, the error,
  if any existed. This will typically be None.

A lot of this design is experimental.
2017-04-18 03:49:48 -04:00
Rapptz 728fae9285 Add Guild.explicit_content_filter. 2017-04-12 20:18:28 -04:00
Rapptz bf2066278e Add support for multiple file attachments.
This is a breaking change. No longer does Messageable.send have a
filename keyword argument, instead this is all handled through the
discord.File model. To upload many files you must specify a list
of discord.File objects.
2017-04-08 03:33:21 -04:00
Rapptz 2abdbc70c2 Implement utilities for AsyncIterator.
Closes #473.
2017-02-11 23:34:19 -05:00
Rapptz 02f30f21c4 Implement User.profile coroutine to get a user's profile. 2017-01-24 22:00:27 -05:00
Rapptz e1aaf74fa7 Add option to disable auto member chunking. 2017-01-23 07:07:42 -05:00
Rapptz 4c981ee631 Add support for relationships. 2017-01-20 19:28:43 -05:00
Rapptz fa384f2114 Make ClientUser separate from a regular User.
This removes Client.edit_profile in favour of ClientUser.edit.
2017-01-19 19:37:11 -05:00
Rapptz 87dc2f4dd3 Show inherited members in the docs for User and Member. 2017-01-13 20:46:23 -05:00
Rapptz 06ca518459 Rename NoMoreMessages to NoMoreItems. 2017-01-11 19:53:48 -05:00
Ian Salmons c635ce2526 Simple parser for CHANNEL_PINS_UPDATE 2017-01-09 03:52:44 -05:00
Rapptz 20041ea756 Implement AutoShardedClient for transparent sharding.
This allows people to run their >2,500 guild bot in a single process
without the headaches of IPC/RPC or much difficulty.
2017-01-07 23:19:39 -05:00
Rapptz 9c000c5a72 Fix documentation to work. 2017-01-03 09:52:02 -05:00
Rapptz d1d54a468a Rename Server to Guild everywhere. 2017-01-03 09:51:54 -05:00
Rapptz 92c3c2804d Support MESSAGE_REACTION_REMOVE_ALL event. 2016-11-21 02:49:50 -05:00
Rapptz af46718460 Add support for rich embeds. 2016-11-13 05:07:58 -05:00
Rapptz 12a3403af3 Change reaction events signature and name.
This changes the event signature to be (reaction, user) instead of
(message, reaction, user) since the reaction data class already has
the message being reacted to as a member.

The name was shortened from on_message_reaction_ to on_reaction_ since
the message prefix was deemed redundant.
2016-11-03 20:16:39 -04:00
khazhyk c4acc0e1a1 Add support for reactions.
Reactions can be be standard emojis, or custom server emojis.

Adds
 - add/remove_reaction
 - get_reaction_users
 - Messages have new field reactions
 - new events - message_reaction_add, message_reaction_remove
 - new permission - add_reactions
2016-10-27 21:36:32 -07:00