aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [commands] Implement a command cooldown system.Rapptz2016-07-224-3/+193
| | | | | | | | | | | | | | | | | The way the command cooldown works is using a windowed way of doing it. That is, if we have a cooldown of 2 commands every 30 seconds then if we do a single command, we have 30 seconds to do the second command or else we will get rate limited. This more or less matches the common expectations on how cooldowns should be. These cooldowns can be bucketed up to a single dimension of depth for a per-user, per-guild, or per-channel basis. Of course, a global bucket is also provided. These cannot be mixed, e.g. no per-channel per-user cooldowns. When a command cooldown is triggered, the error handlers will receive a an exception of type CommandOnCooldown with proper information regarding the cooldown such as retry_after and the bucket information itself.
* [commands] Add UserInputError into the exception hierarchy.Rapptz2016-07-211-8/+18
| | | | | | | | | | | This is for exceptions that are inherently based on user errors and not permission based. e.g. passing incorrect number of arguments, too many arguments, or an invalid argument. CommandNotFound is not classified under this since it isn't inherently a user input error in all cases. Some invalid commands can simply be due to an odd bot prefix. It would also diminish the usefulness of the new parent class if CommandNotFound was included.
* Fix SyntaxError in constructing VoiceState for Python 3.4Rapptz2016-07-211-1/+2
| | | | Generalised unpacking is 3.5 only.
* Add AppInfo.owner attribute.Rapptz2016-07-212-2/+7
|
* Fix bug where discriminators would not update in PRESENCE_UPDATE.Rapptz2016-07-211-0/+1
|
* Add ourselves into the ringing lookup cache.Rapptz2016-07-151-0/+2
|
* Add utility properties to CallMessage to query information.Rapptz2016-07-153-11/+39
|
* Add support for querying information about group calls.Rapptz2016-07-156-31/+207
|
* Fix the displaying of Message.system_contentRapptz2016-07-151-5/+4
|
* Handle adding and removal of group members.Rapptz2016-07-152-1/+25
|
* Make PrivateChannel.__str__ more useful for groups.Rapptz2016-07-151-4/+16
| | | | Also demote is_private to a property instead of a slot.
* Handle private channel CHANNEL_CREATE better.Rapptz2016-07-151-2/+2
|
* Add remaining server regions to the enum.Rapptz2016-07-142-9/+26
|
* Add support for different message types and call message.Rapptz2016-07-137-8/+175
|
* Handle CHANNEL_UPDATE for group direct messages.Rapptz2016-07-133-15/+27
|
* Begin working on gateway v6 changes.Rapptz2016-07-136-21/+77
| | | | | The first batch of changes are related to channel types and group direct messages. Support these first so READY begins parsing.
* Add stderr arg to create_ffmpeg_playerDaniel2016-07-081-2/+5
|
* [commands] Make Bot.check decorator an actual decorator.Rapptz2016-07-081-6/+4
|
* [commands] Added missing parenthesis in examplesPapyrusThePlant2016-07-081-8/+8
|
* Save email when login with a token on a user accountPapyrusThePlant2016-07-061-1/+2
|
* [commands] Refactor pagination into its own class.Rapptz2016-07-052-49/+71
| | | | | | This change allows users to more easily create their own formatters without having to reinvent the pagination logic themselves. Hopefully this makes it less of a pain for people to create custom help pages.
* Fix issue with removing roles out of order.Rapptz2016-07-041-7/+2
| | | | Fixes #250.
* [commands] Fix error in converters in a private message context.Rapptz2016-07-022-11/+11
| | | | | I was referencing a member function that did not actually exist. So I ported it over to a free function that could be used.
* [commands] Do not lower-case the function name for default command namesRapptz2016-07-011-2/+2
| | | | There are some badlets out there that apparently violate PEP-8.
* [commands] Make GroupMixin.remove_command return None.Rapptz2016-06-301-0/+5
| | | | | This is for cases where the command has been removed already. This will make the function have a somewhat no exception guarantee.
* Add implicit cases to permission resolution in Channel.permissions_forRapptz2016-06-281-0/+19
|
* Add Server.mfa_level to query a server's 2FA requirement.Rapptz2016-06-281-1/+6
|
* Fix voice states being overwritten after a GUILD_SYNC.Rapptz2016-06-282-15/+17
| | | | | | | | | This was a two-fold problem. The first of which involved the overwriting of members during a GUILD_SYNC. Since we are requesting a chunk anyway, we have all the member references we need without actually chunking. The second problem came from the order. We were doing a GUILD_SYNC and then doing the chunking requests. We should do the GUILD_SYNC after the chunking in order to just update presences.
* Change max_length to max_messagesPC2016-06-281-1/+1
|
* Version bump to v0.10.0v0.10.0Rapptz2016-06-281-2/+2
|
* Update installation instructions.Rapptz2016-06-281-5/+28
|
* Add PyNaCl to setuptool's extras requirements.Rapptz2016-06-281-1/+6
|
* Make PyNaCl optionalHornwitser2016-06-283-2/+15
|
* Update whats new page a little bit to say the changelog is too big.Rapptz2016-06-271-2/+4
|
* Make Message.channel_mentions unique.Rapptz2016-06-271-4/+2
|
* Ignore HEARTBEAT_ACK for now to disable the noisy logging.Rapptz2016-06-271-0/+3
|
* Guild Sharding supportcookie2016-06-262-0/+11
|
* Document that bot users can't use Client.accept_inviteRapptz2016-06-261-0/+2
|
* [commands] Fix error where consume rest would not work.Rapptz2016-06-231-1/+1
| | | | I didn't end up refactoring this piece of work out.
* [commands] Fix bug that made functions stop working as converters.Rapptz2016-06-231-1/+1
|
* Fix bug with edit_profile for user accountsHarmon7582016-06-231-1/+1
|
* [commands] Port special cased discord converters to commands.ConverterRapptz2016-06-223-116/+163
|
* Fix bug with Client.server_voice_state not deafening.Rapptz2016-06-222-8/+11
|
* [commands] Add commands.Converter base for converts with context.Rapptz2016-06-221-5/+38
| | | | | This allows users to implement converters that work similar to the ones special cased by the `discord` classes.
* Handle MESSAGE_DELETE_BULK.Rapptz2016-06-221-0/+7
|
* Support for v5 Gateway.Rapptz2016-06-226-29/+81
|
* Fix bug with deleting private messages.Rapptz2016-06-201-3/+5
| | | | | | This was due to an AttributeError occurring when getting the guild_id from the channel. PrivateChannels do not have guild_ids so they should be None.
* [commands] Add Command.ignore_extra attribute to ignore extra argumentsRapptz2016-06-202-3/+20
| | | | | | | | | | | This allows you to strictly require a number of arguments. The default behaviour in this case is still `True`, since it would be a breaking change otherwise and is a sane default. However if someone would want to set this to `False`, they would receive an exception of type `TooManyArguments` if too many arguments are passed to a command. Hopefully this removes the uses of `ctx.message.content == 'stuff'` inside commands.
* Raise TypeError if "after" parameter is not a callable.Rapptz2016-06-201-1/+4
|
* Add FAQ entry for `after` being called right away.Rapptz2016-06-201-0/+21
|