Commit Graph

1691 Commits

Author SHA1 Message Date
f6869242ca Update Japanese .po files. 2019-02-24 04:10:48 -05:00
d5d9164810 [commands] Fix special method detection for regular function objects.
Fixes #1920
2019-02-24 00:24:31 -05:00
3a8214a115 [commands] Remove Bot.get_cog_commands 2019-02-23 11:02:19 -05:00
ab8e7b7732 [commands] Fix bug in behaviour in the cog inspection methods. 2019-02-23 10:51:23 -05:00
7d877e9067 Better jpeg detection in utils._get_mime_type_for_image
Fixes #1901
2019-02-23 10:25:05 -05:00
7ad4425c57 Update copyright years. 2019-02-23 09:26:39 -05:00
d3bc35a573 [commands] Update stale parent references in subcommands.
This bug was kind of a long one to figure out, as per #1918 documents
the issue had to do with subcommands but the actual adventure in
finding this one was a long one.

The first problem was that Command.cog was for some reason None, which
indicated that a copy was happening somewhere along the way. After some
fiddling I discovered that due to the copies of `Cog.__cog_commands__`
the groups pointed to out-dated versions that got overriden by the new
copies.

The first attempt at fixing this was straightforward -- just remove the
subcommand from the parent and replace it with the newer reference that
we just received. However, this ended up not working due to a strange
mystery where the subcommand being invoked was neither the original
copy nor the new copy residing in `Cog.__cog_commands__`.

Some more investigation later pointed out to me that a copy occurs
during the `Group.copy` stage which calls `Command.copy` for all its
subcommands. After spotting this out I had realised where the
discrepancy comes from. As it turns out, the subcommand copy that was
being invoked was actually a stale one created from `Group.copy`.

The question remained, how come that one was being called? The problem
stemmed from the fact that when the subcommand was copied, the parent
reference pointed to the old parent. Since the old parent was the one
that was getting the new reference, it went practically untouched. This
is because the calling code fetches the child from the parent and the
old parent is nowhere in the call chain.

To fix this issue we needed to update the parent reference, and in
order to do that a temporary lookup table is required pointing to the
latest copies that we have made.

Thus ends a 3.5 hour bug hunting adventure.
2019-02-23 09:26:01 -05:00
9827d6eeaf [commands] Fix issue with decorator order with checks and cooldowns
Now they're just explicitly copied.
2019-02-23 07:41:25 -05:00
10ed41d8a0 [commands] Fix bug with cog bot check once not being unloaded properly. 2019-02-23 07:40:00 -05:00
1a0b1dfd29 [commands] Fix attribute access in cogs to commands.
Previously they were outdated copies, this updates the copies to the
ones that are actually injected.
2019-02-23 07:38:04 -05:00
04ee10adc4 [commands] Fix bug with local checks and cooldowns not applying. 2019-02-23 05:38:35 -05:00
ac6e55353a [commands] Copy on_error handlers in Command.copy
This fixes the issue of error handlers not applying.
2019-02-23 05:31:05 -05:00
f15cf7c845 [commands] Pass over kwargs to type.__new__ 2019-02-23 05:18:24 -05:00
a8dd4a826f Document listener changes in the migrating docs. 2019-02-23 04:26:03 -05:00
caf3d17d4a Rework entire cog system and partially document it and extensions. 2019-02-23 04:10:10 -05:00
3f06f247c0 [commands] Fix up wording on HelpFormatter.get_ending_note 2019-02-18 16:29:58 -05:00
cod
262717c7d8 [commands] add document comment to HelpFormatter.get_ending_note 2019-02-19 00:27:05 +09:00
cod
4e5b4a9b93 Translated ext.commands.HelpFormatter class.
ext/commands/api.po
2019-02-19 00:27:05 +09:00
41924a8b32 Update Japanese .po files 2019-02-18 03:54:27 -05:00
7ab47c223b Add self_video property to VoiceState 2019-02-18 03:48:26 -05:00
8e97a0a248 Log unknown channel warning in WEBHOOK_UPDATE 2019-02-18 03:47:57 -05:00
e920fe9a56 Add guild_integrations_update event 2019-02-18 03:47:56 -05:00
cfc2e47b4f Manually calculate millisceond epoch rather than bitshifting
Implementation by Danny.
2019-02-15 23:20:06 -08:00
4ab9c874f8 Fix system_content returning incorrect join messages 2019-02-15 22:09:25 -08:00
806295a1be Add remove() to Reaction
Added a coro, `remove()` which takes in a sole parameter, `member`.
This new coro will remove the reaction by the provided member from the reactions message.

`message.remove_reaction(reaction, member)` was not removed as to not introduce breaking changes.
2019-02-14 20:21:09 -05:00
cod
ea0f1ee25f [commands] Add more i18n properties for HelpFormatter
removed fixed strings "Commands:" and help page ending note.
and added properties modify these strings.
default behavior is not changed. fix #1886
2019-02-14 20:21:06 -05:00
60f9ac3062 Fix missing imports 2019-02-12 20:25:16 -05:00
5d78f43e55 Expose more information from partial invites, along with counts.
This adds the following information.

* `PartialInviteGuild` to replace `Object` patching
* `PartialInviteChannel` to replace `Object` patching
* Invite.approximate_member_count and Invite.approximate_presence_count

The new partial objects provide better documentation on what is
expected when you fetch random invites.

Fixes #1830
2019-02-12 20:22:47 -05:00
e2478b17c9 Bump aiohttp requirement and fix AsyncWebhookAdapter 2019-02-12 18:55:19 -06:00
4ebe02ab1f Fix documentation typo in CategoryChannel 2019-02-12 19:15:21 -05:00
79f172cf80 Add PremiumType enumeration and ClientUser.premium_type 2019-02-12 19:01:10 -05:00
9765b701f2 Change Activity.application_id from str to int. 2019-02-12 19:00:09 -05:00
700dbb5555 Fix missing import. 2019-02-06 02:28:59 -05:00
e429763dea Try to optimize for the common ASCII case.
This is still a slowdown (about 45ns to 300ns) but it's less severe
than the original implementation (about 900 to 1100ns).
2019-02-06 02:15:22 -05:00
cod
d107f485a5 [commands] Fix ext.commands help page full-width indentation
add _string_width function to util. Changed string width calculate
function from len() to util function _string_width().
2019-02-06 02:15:04 -05:00
e53c85110f Clarified add_listener documentation 2019-02-06 01:52:57 -05:00
8586251089 Use non-deprecated method of acquiring lock 2019-02-06 01:52:56 -05:00
5fa54d196e Fix typo in API documentation. 2019-02-06 01:52:55 -05:00
Xua
a9860bd156 Remove notes about Client.messages
Since `Client.messages` no longer exists, I think we should remove the note about the cache being named that.
2019-02-06 01:52:13 -05:00
bb9f153d29 commands.clean_content: escape || spoilers || 2019-02-06 01:52:12 -05:00
4b22dd216c Fix ReactionIterator for limit > 100 2019-01-30 14:14:03 -06:00
1222bce271 Add CategoryChannel.text_channels and voice_channels 2019-01-29 06:50:18 -05:00
9d92939fbe Added support for comparing PermissionOverwrites
When trying to check if a specific permission overwrite is already set on a channel, it can be done by fetching the already existing overwrite and comparing it with a one you want to set. Comparing them directly wasn't possible before, and this small change allows for that.
Could be expanded for other comparison operators, not sure how it would work though.
2019-01-28 22:22:54 -05:00
ed76151c70 Warn on high latency and blocking heartbeat
Add warnings for when the heartbeat is blocked for a long time and when
the websocket latency is excessively high.  These indicate problems with
blocking the event loop and/or insufficient computing resources to keep
up with the demand.
2019-01-28 22:22:53 -05:00
1f4940d171 Fix README.rst for PyPi
Add long_description_content_type in setup.py, fix incorrectly
matched up title underlines in README.rst, and fix incorrect entry in
MANIFEST.in that was forgotten when the README was renamed in 06296bf.
2019-01-28 22:22:53 -05:00
9c5259afd7 Update voice code to vws V4
- Update internals to be compatible with v4
- Adds multiple encryption mode support.  Previously only `xsalsa20_poly1305` was supported.  Now `xsalsa20_poly1305_suffix` is also supported.
  Note: There is no (nice) way to manually select a mode.  The user needn't worry about this however.
- Fixed speaking state bug.  When you disconnected from a voice channel while a bot was playing, upon reconnect you would be unable to hear the bot.  This was caused by bots not sending their speaking state while transmitting.  Bots will now set their speaking state properly when transmitting.  
  Note: This does not account for sending actual silence, the speaking indicator will still be active.
2019-01-28 22:22:52 -05:00
883ae8fe80 Fix accidental regression of 9bc48b2 in fa46b07
Occured due to difficult to spot difference in git merge when rebasing
the lint changes.
2019-01-28 22:22:51 -05:00
9656a21ebe Bumped copyright years to 2019. 2019-01-28 22:22:50 -05:00
df6bdb3007 Fix the Context.message example to actually use ctx.message 2019-01-28 22:22:49 -05:00
ce3ede1551 Implement PartialEmoji == Emoji (fixes #1627) 2019-01-28 22:22:48 -05:00