Commit Graph
2675 Commits
Author SHA1 Message Date
Nadir ChowdhuryandDanny 999ac0a0e3 Add Category.create_text_channel/Category.create_voice_channel (#1976)
Fixes #1971
2019-03-12 08:16:25 -04:00
Rapptz 8a153bfaad [commands] Refactor quoted_word free function to a StringView method.
Technically a breaking change, however this interface was not
documented or guaranteed to exist.
2019-03-12 05:37:34 -04:00
Rapptz 560783c3d2 [commands] Separate view parsing errors from BadArgument.
This causes them to be raised from a new exception named
ArgumentParsingError with 3 children for ease with i18n. This is
technically a breaking change since it no longer derives from
BadArgument, though catching UserInputError will prevent this change
from affecting the user.
2019-03-12 05:27:34 -04:00
Rapptz 13b23963ec Add exception hierarchy to the documentation. 2019-03-12 01:15:24 -04:00
Rapptz e15b4ef8e4 Revert default parameter use_cached of Attachment.save back to False.
Fix #1973
2019-03-10 20:12:24 -04:00
GeroyuniandRapptz 8db7b5eb19 Fix volume command in basic voice example
source.volume takes floating point percentages, e.g. 1.0 for 100%
2019-03-09 17:00:28 -05:00
NCPlayz 8b8e9a619e Moved http.close to before _closed.set 2019-03-09 14:09:47 +00:00
42a7c4f7e5 Add support for guild banners
Document banner attribute of Guild and Invite

Update discord/utils.py

Co-Authored-By: SnowyLuma <38926001+SnowyLuma@users.noreply.github.com>
2019-03-09 00:37:49 -05:00
Tarek1337andRapptz 616616b847 Add support for guild descriptions 2019-03-08 21:45:43 -05:00
Rapptz 5ea84fb971 Add support for guild news channels. 2019-03-08 21:40:43 -05:00
Rapptz e87ca143d3 Bump websockets version to 7.0
Should be fine. Hopefully. Fix #1787
2019-03-08 20:18:05 -05:00
Rapptz 03fdd81531 Remove outdated playlist.py example.
Fixes #1870
2019-03-08 20:04:21 -05:00
numbermaniacandRapptz 5516b0b2c9 guild.py: change word in create_role's docstring 2019-03-08 19:59:20 -05:00
SkywebandRapptz 84a48c9056 Small inconsistency in documentation
:)
2019-03-08 19:59:20 -05:00
Rapptz 52e17d1c2d Add github templates and CONTRIBUTING.md file.
Fix for #1685
2019-03-08 19:59:19 -05:00
Rapptz aceec2009a Have use_cached=True by default for Attachment.save.
Also touch up the documentation a bit.
2019-03-06 20:07:38 -05:00
MakuandRapptz 6f1dff78d4 Added cached saving for attachments
Updated docstring
2019-03-06 20:04:40 -05:00
Rapptz d124daef33 Fix non-working example in commands documentation. 2019-03-06 02:37:02 -05:00
Rapptz 78459f3ed0 Don't reconnect during 4014/4015 in voice websocket. 2019-03-05 19:45:13 -05:00
Rapptz 45af9fa40b [commands] Allow passing of typing.Union into Greedy. Fix #1951 2019-03-03 06:24:35 -05:00
Rapptz 97de4542f7 Add project URLs to setup.py 2019-03-02 16:51:09 -05:00
Rapptz df130e10f0 Prevent AttributeError when closing HTTPClient early. 2019-03-02 16:48:40 -05:00
Myst(MysterialPy)andRapptz 63c5892b43 Fix Signature for Greedy/Optional converters
Change Greedy to `[a]...` | `[a=1]...`
2019-03-02 06:16:50 -05:00
Rapptz c960465366 Mock a ConnectionState object to fix wait=True errors in webhooks.
Fixes #1898
2019-03-02 06:14:10 -05:00
Rapptz 311788c7cb Properly clean-up file objects when necessary instead of instantly.
Fix #1770
2019-03-02 05:52:22 -05:00
Rapptz 076f9bcac7 [commands] Fix name clash overwriting T.__class__.__name__
Fixes #1944
2019-02-28 19:47:25 -05:00
Rapptz 69f5a70eeb [commands] Allow Converter instances in Greedy. Fix #1939. 2019-02-27 21:38:55 -05:00
Rapptz 21a296d538 [commands] Error out when someone passes plain Cog.listener decorator.
Should make this error easier to catch rather than silent failure.
2019-02-27 21:38:55 -05:00
Steve CandGitHub 8beabcc39a Fix typing for Channel.purge's limit kwarg.
PyCharm was throwing a fit when I set it to None. 😒
2019-02-27 16:40:32 -05:00
Rapptz 48b60b2eac Prepare fix for aiohttp 4.0 breaking change with session creation. 2019-02-27 06:34:30 -05:00
Rapptz 7240d170c1 Update Member.joined_at on MESSAGE_CREATE and document it can be None.
Fixes #1638
2019-02-27 06:23:08 -05:00
Rapptz 757584e651 [commands] Add support for stacking Cog.listener decorator.
Fix #1926
2019-02-27 04:29:54 -05:00
Rapptz bbc4460c38 Fix Emoji.__hash__ being None.
When a type defines __eq__, Python removes its __hash__ function.

Fixes #1933
2019-02-26 08:44:25 -05:00
NCPlayzandRapptz 11a0098269 Add new cog methods
Added two new arguments to the parser, and updated defunct cog code.

Remove debug

remove print statement
2019-02-26 08:41:00 -05:00
Rapptz f6869242ca Update Japanese .po files. 2019-02-24 04:10:48 -05:00
Rapptz d5d9164810 [commands] Fix special method detection for regular function objects.
Fixes #1920
2019-02-24 00:24:31 -05:00
Rapptz 3a8214a115 [commands] Remove Bot.get_cog_commands 2019-02-23 11:02:19 -05:00
Rapptz ab8e7b7732 [commands] Fix bug in behaviour in the cog inspection methods. 2019-02-23 10:51:23 -05:00
Rapptz 7d877e9067 Better jpeg detection in utils._get_mime_type_for_image
Fixes #1901
2019-02-23 10:25:05 -05:00
Rapptz 7ad4425c57 Update copyright years. 2019-02-23 09:26:39 -05:00
Rapptz 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
Rapptz 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
Rapptz 10ed41d8a0 [commands] Fix bug with cog bot check once not being unloaded properly. 2019-02-23 07:40:00 -05:00
Rapptz 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
Rapptz 04ee10adc4 [commands] Fix bug with local checks and cooldowns not applying. 2019-02-23 05:38:35 -05:00
Rapptz 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
Rapptz f15cf7c845 [commands] Pass over kwargs to type.__new__ 2019-02-23 05:18:24 -05:00
Rapptz a8dd4a826f Document listener changes in the migrating docs. 2019-02-23 04:26:03 -05:00
Rapptz caf3d17d4a Rework entire cog system and partially document it and extensions. 2019-02-23 04:10:10 -05:00
Rapptz 3f06f247c0 [commands] Fix up wording on HelpFormatter.get_ending_note 2019-02-18 16:29:58 -05:00