4877 Commits

Author SHA1 Message Date
Rapptz
10cb16a450 Add PyNaCl to the list of requirements. 2016-03-31 23:18:35 -04:00
izy521
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
Rapptz
c015e492d7 [commands] Don't yield from inside bot utility functions. 2016-03-31 20:09:20 -04:00
Khazhismel Kumykov
5f776f369d Add default avatar property to User. 2016-03-31 14:38:03 -04:00
Will Tekulve
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
Rapptz
7dcf0c059c Clarify that Client.close is a coroutine. 2016-03-29 20:44:33 -04:00
Rapptz
53a240e0d3 Add Member.colour property to get rendered role colour of a member. 2016-03-27 15:12:05 -04:00
Rapptz
1a98e9235a Clarify Channel.position documentation. 2016-03-25 22:51:03 -04:00
Rapptz
0ad1cb95a3 Server.icon_url uses API url instead of the CDN. 2016-03-25 19:13:06 -04:00
Rapptz
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
Rapptz
4fa1bcadaa Add a way to set ffmpeg options before the -i flag. 2016-03-25 18:49:23 -04:00
Khazhismel Kumykov
f1736bc08f Move ffmpeg process cleanup to player thread 2016-03-25 18:32:02 -04:00
Rapptz
2ef38107d8 Add missing created_at properties for other objects.
Such as Channel, PrivateChannel, Object and Role.
2016-03-25 18:30:42 -04:00
Rapptz
050c668eac [commands] Add bot decorators into __all__. 2016-03-11 23:19:05 -05:00
Khazhismel
fc2127789a Support ytsearch and playlists in youtube_dl_player 2016-03-09 21:19:12 -05:00
Rapptz
78e2db1863 Add support for aiohttp connectors.
Fixes #98.
2016-03-07 17:54:51 -05:00
Rapptz
6694df268c Fix crashing when an unhandled event occurs. 2016-03-06 16:26:58 -05:00
Rapptz
80587fc1e9 Change parsing of READY to be eager again. 2016-03-06 14:41:31 -05:00
Rapptz
6ac2e07833 Fix bug where large servers in GUILD_CREATE did not get chunked. 2016-03-06 05:52:05 -05:00
Rapptz
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
Rapptz
f437ffe44e Add created_at properties for Server and User. 2016-03-06 03:47:25 -05:00
Rapptz
d133f9f761 Clean up documentation of utils.snowflake_time 2016-03-06 03:42:13 -05:00
Khazhismel
612aa4d107 Add util method to extract creation date from discord ids 2016-03-06 03:40:16 -05:00
Rapptz
e2ed8b1476 Remove Server.me from __slots__ since it is a property now. 2016-03-05 20:58:25 -05:00
Rapptz
4a1313f00c [commands] Add when_mentioned_or helper to have mentions and prefixes. 2016-03-05 20:10:11 -05:00
Jake
b10432d393 Disconnect from voice server properly
This needs to exist when users get flagged as bots.
2016-03-04 18:47:50 -08:00
Rapptz
c2ffff1549 Fix bug where @everyone usernames bypass Message.clean_content. 2016-03-02 23:30:09 -05:00
Rapptz
c0dba0f4f2 [commands] Fix typo in Bot.upload docstring. 2016-03-02 23:27:57 -05:00
Nelson Minar
d4fa60e1cf Ensure the auth cache file is not world readable. 2016-03-02 23:26:04 -05:00
Khazhismel Kumykov
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
shrx
8c4f928684 Fix bug where playlist bot attempts to process replies in PMs. 2016-03-02 23:24:04 -05:00
Rapptz
6a31f6af1e [commands] Fix NameError in bot_has_permissions. 2016-03-02 23:18:47 -05:00
Rapptz
f49dc81adf [commands] bot_has_permissions decorator actually checks for bot. 2016-03-02 21:54:56 -05:00
Rapptz
3802e7f534 Server.me is now a dynamic property to avoid outdated references. 2016-03-01 22:54:28 -05:00
Rapptz
bf2b8744a5 [commands] Do not swallow AttributeErrors raised by the setup function 2016-02-24 15:14:20 -05:00
Rapptz
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
Rapptz
489363f5f8 Switch URLs from Client.delete_server and Client.leave_server. 2016-02-23 19:01:04 -05:00
Rapptz
87f7fced24 Add Client.delete_server. 2016-02-23 18:59:44 -05:00
Rapptz
49427ce065 Change requirements.txt to use version 0.21.x of aiohttp. 2016-02-19 12:27:24 -05:00
Rapptz
98090a2a57 [commands] Helper functions now take *args and **kwargs. 2016-02-18 19:42:03 -05:00
Rapptz
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
Rapptz
91ac96daef Add channel specific bitrates. 2016-02-18 19:09:11 -05:00
Rapptz
3ec99a7cb8 Fix NameError issue in Client.send_file. 2016-02-17 21:24:40 -05:00
Rapptz
3862b1abcf Do not overwrite members that are already in cache during chunking. 2016-02-17 05:44:00 -05:00
Rapptz
ff14fa0fe8 Switch to using ClientSession objects for aiohttp v0.21 2016-02-15 19:49:30 -05:00
Rapptz
0b80575ae3 Fix case when no chunks are necessary. 2016-02-14 21:51:49 -05:00
Rapptz
4584c68f0c Remove request_offline option. 2016-02-14 21:49:34 -05:00
Rapptz
841e584ee9 Update owner references when we get a chunk. 2016-02-14 20:00:50 -05:00
Rapptz
4768d950c5 Offline members are now added by default automatically.
This commit adds support for GUILD_MEMBERS_CHUNK which had to be done
due to forced large_threshold requirements in the library.
2016-02-14 19:24:26 -05:00
Rapptz
530fbe78b8 Handle case where PRESENCE_UPDATE adds members to cache.
When we don't request offline members, members that are going from
offline to online in the server will become available via the
PRESENCE_UPDATE event. This should be transparent to the user since
technically the member exists in the server and thus on_member_update
is used instead of on_member_join.
2016-02-13 22:34:38 -05:00