3139 Commits

Author SHA1 Message Date
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
f235dc5ca4 Fix handling of message update in MESSAGE_UPDATE 2016-04-05 18:01:54 -04:00
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
0e91ef79ef Fix handling of unavailable servers in READY 2016-04-04 23:45:05 -04:00
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
8b7f15ef8d Skip member_update event when a member is not in a guild. 2016-04-02 23:38:45 -04:00
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
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
1a202bb6eb Add Server.get_member_named to help with name + discriminator lookups. 2016-04-01 05:59:58 -04:00
f93fa8a0b2 User.__str__ now includes the discriminator. 2016-04-01 05:48:31 -04:00
ee4574a5e1 Drop voice packets when it can be potentially blocking. 2016-03-31 23:44:22 -04:00
719c0269f4 Encrypted audio working with PyNacl
I chose PyNacl since it came with its own libsodium portable copy.
2016-03-31 23:03:34 -04:00
c015e492d7 [commands] Don't yield from inside bot utility functions. 2016-03-31 20:09:20 -04:00
5f776f369d Add default avatar property to User. 2016-03-31 14:38:03 -04:00
174016c918 [commands] Fix infinite recursion on subgroups without a command.
Just as an FYI, ctx.invoked_subcommand will end up being an instance
    of commands.Group!
2016-03-31 05:34:51 -04:00
7dcf0c059c Clarify that Client.close is a coroutine. 2016-03-29 20:44:33 -04:00
53a240e0d3 Add Member.colour property to get rendered role colour of a member. 2016-03-27 15:12:05 -04:00
1a98e9235a Clarify Channel.position documentation. 2016-03-25 22:51:03 -04:00
0ad1cb95a3 Server.icon_url uses API url instead of the CDN. 2016-03-25 19:13:06 -04:00
827ca1e5a2 Add boolean option to specify if VoiceClient.play_audio should encode.
This allows people to send raw opus encoded data instead of being
forced to encode to Opus.
2016-03-25 19:12:59 -04:00
4fa1bcadaa Add a way to set ffmpeg options before the -i flag. 2016-03-25 18:49:23 -04:00
f1736bc08f Move ffmpeg process cleanup to player thread 2016-03-25 18:32:02 -04:00
2ef38107d8 Add missing created_at properties for other objects.
Such as Channel, PrivateChannel, Object and Role.
2016-03-25 18:30:42 -04:00
050c668eac [commands] Add bot decorators into __all__. 2016-03-11 23:19:05 -05:00
fc2127789a Support ytsearch and playlists in youtube_dl_player 2016-03-09 21:19:12 -05:00
78e2db1863 Add support for aiohttp connectors.
Fixes #98.
2016-03-07 17:54:51 -05:00
6694df268c Fix crashing when an unhandled event occurs. 2016-03-06 16:26:58 -05:00
80587fc1e9 Change parsing of READY to be eager again. 2016-03-06 14:41:31 -05:00
6ac2e07833 Fix bug where large servers in GUILD_CREATE did not get chunked. 2016-03-06 05:52:05 -05:00
425bd2c091 Move chunking logic back into ConnectionState.
This allows for a nicer design when dealing with parsers that could
end up being coroutines.
2016-03-06 05:24:18 -05:00
f437ffe44e Add created_at properties for Server and User. 2016-03-06 03:47:25 -05:00
d133f9f761 Clean up documentation of utils.snowflake_time 2016-03-06 03:42:13 -05:00
612aa4d107 Add util method to extract creation date from discord ids 2016-03-06 03:40:16 -05:00
e2ed8b1476 Remove Server.me from __slots__ since it is a property now. 2016-03-05 20:58:25 -05:00
4a1313f00c [commands] Add when_mentioned_or helper to have mentions and prefixes. 2016-03-05 20:10:11 -05:00
b10432d393 Disconnect from voice server properly
This needs to exist when users get flagged as bots.
2016-03-04 18:47:50 -08:00
c2ffff1549 Fix bug where @everyone usernames bypass Message.clean_content. 2016-03-02 23:30:09 -05:00
c0dba0f4f2 [commands] Fix typo in Bot.upload docstring. 2016-03-02 23:27:57 -05:00
d4fa60e1cf Ensure the auth cache file is not world readable. 2016-03-02 23:26:04 -05:00
ef57873f80 Clean up zombies
self.process.communicate(timeout=0.100) will block

zombies probably would be cleaned up anyways but in a non deterministic fashion by the garage collector
2016-03-02 23:25:20 -05:00
6a31f6af1e [commands] Fix NameError in bot_has_permissions. 2016-03-02 23:18:47 -05:00
f49dc81adf [commands] bot_has_permissions decorator actually checks for bot. 2016-03-02 21:54:56 -05:00
3802e7f534 Server.me is now a dynamic property to avoid outdated references. 2016-03-01 22:54:28 -05:00
bf2b8744a5 [commands] Do not swallow AttributeErrors raised by the setup function 2016-02-24 15:14:20 -05:00
13f8b972e6 Fix bug where the everyone role was not being properly resolved.
The permissions_for assumed that the everyone role would be the first
element of the permission overwrites but this is not guaranteed so we
have to guarantee it ourselves.
2016-02-24 15:13:20 -05:00
489363f5f8 Switch URLs from Client.delete_server and Client.leave_server. 2016-02-23 19:01:04 -05:00
87f7fced24 Add Client.delete_server. 2016-02-23 18:59:44 -05:00
98090a2a57 [commands] Helper functions now take *args and **kwargs. 2016-02-18 19:42:03 -05:00
89de0e7e9f Client.send_file can now send content along with the message.
There is a breaking change here. We have to change the filename
parameter to be a keyword only argument so there are fewer errors
and surprises.
2016-02-18 19:41:48 -05:00
91ac96daef Add channel specific bitrates. 2016-02-18 19:09:11 -05:00