9c6d9f1a84
Remove call handling for now.
2017-03-13 17:07:33 -04:00
ead18e3948
Fix issue with members not copying correctly.
2017-03-05 07:48:15 -05:00
e78a5c0643
Remove remaining voice_member tracking.
2017-02-28 18:29:27 -05:00
f6fcb62c7b
Check for PrivateChannel before GuildChannel in Client.get_channel
2017-02-25 20:56:09 -05:00
29f676c42e
Wrap asyncio.wait into a saner alternative that raises TimeoutError.
...
Fixes #494
2017-02-25 00:03:43 -05:00
b8727fd463
Fix Client.emojis returning a list of IDs.
2017-02-21 08:38:06 -05:00
0dac5e3139
Add Client.emojis to get all emojis.
...
This removes the older get_all_emojis generator.
2017-02-10 16:43:33 -05:00
554ae196d3
Add missing int casts in many different events in the state.
...
Also remove redundant role parsing in Member._update_roles.
2017-01-28 08:14:43 -05:00
b876133e87
Add compatibility shim for asyncio.Future creation.
...
Should provide better support for uvloop.
2017-01-25 21:38:50 -05:00
e1aaf74fa7
Add option to disable auto member chunking.
2017-01-23 07:07:42 -05:00
d206ee792b
Fix issue with user bots chunking unavailable guilds.
2017-01-21 16:25:51 -05:00
ff9f5749e1
Update copyright year to 2017.
2017-01-20 23:19:19 -05:00
4c981ee631
Add support for relationships.
2017-01-20 19:28:43 -05:00
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
f465f88d81
Reimplement Guild.me property without patching it in.
2017-01-18 19:54:47 -05:00
c635ce2526
Simple parser for CHANNEL_PINS_UPDATE
2017-01-09 03:52:44 -05:00
92c1637921
Allow overriding the shard_ids used for initial shard launch.
2017-01-08 02:05:21 -05:00
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
d54d7f7ac0
Fix variable shadowing in READY parsing.
2017-01-05 07:03:56 -05:00
808a05ff2d
Move global user cache to a WeakValueDictionary.
2017-01-04 05:16:59 -05:00
c863d93f69
Fix bug that made member roles go missing.
2017-01-03 20:17:58 -05:00
7690455b21
Make User and Member messageable.
2017-01-03 09:52:12 -05:00
98b981848d
Move message creation to a factory method inside ConnectionState.
2017-01-03 09:52:10 -05:00
5e6bfecb07
Move away from StateContext and use ConnectionState directly.
2017-01-03 09:52:10 -05:00
4e175d36d3
Add delete_after parameter to MessageChannel.send
2017-01-03 09:52:04 -05:00
79a49f9145
Absolute import some circular dependencies to appease Python 3.4.
2017-01-03 09:52:02 -05:00
2c50c18ca3
Change dict value views into lists.
2017-01-03 09:51:59 -05:00
c187d87dae
Re-add support for reactions.
...
We now store emojis in a global cache and make things like adding
and removing reactions part of the stateful Message class.
2017-01-03 09:51:57 -05:00
59a0df5f98
Rename try_insert_user to store_user
2017-01-03 09:51:56 -05:00
5cb3ad14e8
Make emojis and members stateful.
2017-01-03 09:51:55 -05:00
a7a60e433b
Make roles and guilds stateful.
2017-01-03 09:51:55 -05:00
d1d54a468a
Rename Server to Guild everywhere.
2017-01-03 09:51:54 -05:00
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
45c729b167
Switch IDs to use int instead of str
2017-01-03 09:51:49 -05:00
31229a53e9
Optimise VoiceState for memory.
...
Instead of storing one VoiceState per Member, only store them if
necessary. This should bring down the number of instances
significantly.
2017-01-03 09:51:47 -05:00
044b0824e6
Begin working on the rewrite.
2017-01-03 09:51:47 -05:00
a8264f6540
Chunk every guild if it's a user bot.
...
This also increases the timeout for chunking by 30 seconds for every
chunk we're waiting for.
2016-12-24 17:32:20 -05:00
bed2e90e82
Properly propagate loop. Fixes #420 .
2016-12-21 00:06:19 -05:00
a0f4ad36eb
Timeout waiting for chunking.
...
Sometimes the bot would keep waiting for chunks that somehow finished
before getting to the `wait` call. This is more so a temporary fix
rather than a fully correct one.
2016-12-16 21:28:12 -05:00
c8fd8a9e1a
Fix crash on duplicate or out of order reactions.
...
Eventual consistency ftw
2016-11-30 16:47:00 -05:00
92c3c2804d
Support MESSAGE_REACTION_REMOVE_ALL event.
2016-11-21 02:49:50 -05:00
8bd242f00b
Fix crash on reaction remove.
...
Discord can sometimes send integer 0 as the emoji id instead of
null to signify a non-custom emoji, which was causing a crash due
to a 'is not None' check assuming the reaction was for an emoji
with id 0. Probably a discord bug, but preferable to handle here
rather than crash users.
2016-11-05 21:46:07 -07:00
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
4d87b2f817
Inject full Emoji to Reaction if we have it.
...
Reaction objects with custom Emoji are partial. If we know of this Emoji
(can find it on this client) then inject it. Otherwise, leave it as a
hollow Emoji. We can still react with a hollow Emoji, but can't get other
metadata about it.
2016-11-03 04:39:45 -04:00
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
c5a989eeb2
Add custom emoji support.
2016-07-31 22:39:43 -07:00
b0e5357716
Fix voice state update issue in on_voice_state_update
...
Bug was caused to the shallow copy not copying over the VoiceState
information embedded into the copy. This would mean that when the event
is called, before and after voice state information is essentially
equivalent.
The solution to fix this is to also copy the VoiceState objects.
2016-07-23 05:18:56 -04:00
3cd9f80854
Fix bug where discriminators would not update in PRESENCE_UPDATE.
2016-07-21 01:09:12 -04:00
bd39c3ef45
Add utility properties to CallMessage to query information.
2016-07-15 23:42:53 -04:00
1c8ab25917
Add support for querying information about group calls.
2016-07-15 22:46:00 -04:00