Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(commands): handle interactions in union types correctly #1121

Merged
merged 7 commits into from Oct 26, 2023

Conversation

shiftinv
Copy link
Member

@shiftinv shiftinv commented Oct 17, 2023

Summary

Changes the lenient issubclass_ we're using for parts of slash parsing to also support issubclass_(X[T], X), instead of using issubclass_(get_origin(...), ...).
This fixes cases where the interaction annotation is a Union, which worked fine before #1037 where I missed this in review.

Code

@bot.slash_command()
async def test(inter: Union[disnake.ApplicationCommandInteraction, commands.Context]) -> None:
    ...

#   File "disnake/ext/commands/params.py", line 766, in parse_annotation
#     raise TypeError(
# TypeError: Unions for anything else other than channels or a mentionable are not supported

Checklist

  • If code changes were made, then they have been tested
    • I have updated the documentation to reflect the changes
    • I have formatted the code properly by running pdm lint
    • I have type-checked the code by running pdm pyright
  • This PR fixes an issue
  • This PR adds something new (e.g. new method or parameters)
  • This PR is a breaking change (e.g. methods or parameters removed/renamed)
  • This PR is not a code change (e.g. documentation, README, ...)

@shiftinv shiftinv added this to the disnake v2.10 milestone Oct 17, 2023
Signed-off-by: shiftinv <8530778+shiftinv@users.noreply.github.com>
@shiftinv shiftinv merged commit b23786b into master Oct 26, 2023
27 checks passed
@shiftinv shiftinv deleted the fix/annotation-origin branch October 26, 2023 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

None yet

1 participant