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(bug): BucketType.role in cooldowns could be based on a Thread rather than Role #1200

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Enegg
Copy link
Contributor

@Enegg Enegg commented Jun 1, 2024

Summary

This PR fixes a subtle bug that went unnoticed due to a # type: ignore.
A Thread happens to structurally match abc.PrivateChannel (has .id and .me), which would cause an isinstance check to pass.

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
Copy link
Member

good catch! lgtm overall.
Regarding the underlying issue you mentioned - Thread really shouldn't match the PrivateChannel protocol in the first place, yeah. I don't think there are any unique attributes in DMChannel or GroupChannel, so this might have to go back to nominal subtyping? Doesn't necessarily have to be fixed in this PR, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

2 participants