Rapptz
1fc08bc5a2
Remove unused imports.
2017-04-18 04:22:35 -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
39d65305a3
Add TextChannel.members to get members that can see a channel.
2017-02-28 17:42:07 -05:00
Rapptz
cf40e94af6
Rename VoiceChannel.voice_members to VoiceChannel.members
2017-02-28 17:40:17 -05:00
Rapptz
cbbc75cd8d
Move purge and delete_messages from Messageable.
...
This is a breaking change. Move these two to TextChannel since the
other things that implement Messageable cannot reliably do bulk delete
actions in their respective channels.
2017-02-26 21:16:20 -05:00
Rapptz
ae36008279
Fix NameError in GroupChannel.
2017-02-10 15:42:52 -05:00
Rapptz
ca81f0c3fc
Better group DM support.
2017-02-09 20:50:02 -05:00
Rapptz
ff9f5749e1
Update copyright year to 2017.
2017-01-20 23:19:19 -05:00
Rapptz
92dd519b1a
Remove _get_guild_id from Messageable ABC.
2017-01-14 19:22:26 -05:00
Rapptz
aae8b783e9
VoiceChannel.voice_members is now computed when needed.
2017-01-08 04:31:33 -05:00
Rapptz
d086b5421d
Fix NameError when dealing with permission resolution.
2017-01-03 20:17:59 -05:00
Rapptz
7431a127cf
Change Messageable channel getter to be a coroutine.
2017-01-03 09:52:11 -05:00
Rapptz
98b981848d
Move message creation to a factory method inside ConnectionState.
2017-01-03 09:52:10 -05:00
Rapptz
d5b616fa11
Rename MessageChannel abc to Messageable.
2017-01-03 09:52:09 -05:00
Rapptz
6709979831
Move GuildChannel over to abc module.
2017-01-03 09:52:08 -05:00
Rapptz
dceba9d962
Add useful repr to all data classes.
2017-01-03 09:52:06 -05:00
Rapptz
79a49f9145
Absolute import some circular dependencies to appease Python 3.4.
2017-01-03 09:52:02 -05:00
Rapptz
59a0df5f98
Rename try_insert_user to store_user
2017-01-03 09:51:56 -05:00
Rapptz
5cb3ad14e8
Make emojis and members stateful.
2017-01-03 09:51:55 -05:00
Rapptz
d1d54a468a
Rename Server to Guild everywhere.
2017-01-03 09:51:54 -05:00
Rapptz
53ab263125
Split channel types.
...
This splits them into the following:
* DMChannel
* GroupChannel
* VoiceChannel
* TextChannel
This also makes the channels "stateful".
2017-01-03 09:51:52 -05:00
Rapptz
e4b16851bf
Slots use tuples instead now.
2017-01-03 09:51:50 -05:00
Rapptz
45c729b167
Switch IDs to use int instead of str
2017-01-03 09:51:49 -05:00
Rapptz
044b0824e6
Begin working on the rewrite.
2017-01-03 09:51:47 -05:00
Rapptz
c7946606f4
Add Channel.overwrites to get a channel's permission overwrites.
...
Fixes #414 .
2016-12-17 14:00:34 -05:00
Rapptz
26f5bcd725
Fix bug when permission overwrites could be applied out of order.
...
The bug was due to the fact that the way overwrites work is by doing
a loop of all the values and then applying deny first and then allow.
That way the overwrite is defined if role A and role B deny a
permission but role C allows it (and said member has A, B, C roles)
then the resolution should allow it rather than deny it regardless of
the order of the data it is received in.
2016-09-10 16:11:52 -04:00
Rapptz
18bdd3e7dd
Make PrivateChannel.__str__ more useful for groups.
...
Also demote is_private to a property instead of a slot.
2016-07-15 21:45:23 -04:00
Rapptz
a128249b63
Add support for different message types and call message.
2016-07-13 20:11:18 -04:00
Rapptz
69c506d7ae
Handle CHANNEL_UPDATE for group direct messages.
2016-07-13 17:23:35 -04:00
Rapptz
ddd3fd0a3d
Begin working on gateway v6 changes.
...
The first batch of changes are related to channel types and group
direct messages. Support these first so READY begins parsing.
2016-07-13 00:10:16 -04:00
Rapptz
0eccd85711
Add implicit cases to permission resolution in Channel.permissions_for
2016-06-28 20:34:03 -04:00
Rapptz
8b3617111a
Support for v5 Gateway.
2016-06-22 05:00:08 -04:00
Rapptz
08674f115b
Make Channel.overwrites_for return PermissionOverwrite
2016-06-14 22:26:15 -04:00
Rapptz
9a6234961f
Make Channel.changed_roles into an on-the-fly property instead.
2016-06-01 20:33:38 -04:00
Rapptz
e3c4daf717
Add __slots__ for discord.Channel.
...
Not sure why this was missing.
2016-05-20 18:11:58 -04:00
Rapptz
fe1b5b2941
Add support for voice channel user limits.
2016-05-20 18:11:58 -04:00
Rapptz
9176caa355
Fix Channel.permissions_for to work with the new permission system.
2016-05-12 21:25:18 -04:00
Rapptz
03041bdb0a
Add Channel.overwrites_for function to get allow/deny pairs.
2016-04-12 13:10:43 -04:00
Rapptz
1a98e9235a
Clarify Channel.position documentation.
2016-03-25 22:51:03 -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
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
91ac96daef
Add channel specific bitrates.
2016-02-18 19:09:11 -05:00
Rapptz
2d413756b0
Fix PrivateChannel.permissions_for not having self parameter.
2016-01-22 01:16:36 -05:00
Rapptz
855fa7e553
Documentation fixes for Permissions related code.
2016-01-14 12:24:59 -05:00
Rapptz
8974dffc4e
Change internal update functions to have a leading underscore.
2016-01-11 14:44:13 -05:00
Rapptz
db4cc791dd
Update license of files to 2016.
2016-01-04 22:28:29 -05:00
Rapptz
5a1d7a2d94
Change permissions to remove the can_ prefix.
2016-01-03 21:45:28 -05:00
Rapptz
f1f0e169e4
Add __slots__ where appropriate to data classes.
2015-12-19 06:18:12 -05:00
Rapptz
5f4e13df96
Fix Channel.permissions_for attribute error.
2015-12-17 01:29:20 -05:00
Rapptz
51d91c2a82
Most data classes now support hashing.
2015-12-17 00:32:54 -05:00