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

feat: implement __eq__ between BaseFlags and flag_values #1238

Merged
merged 7 commits into from
Nov 29, 2024

Conversation

Sharp-Eyes
Copy link
Member

Summary

This PR adds support for __eq__ comparison between BaseFlags and flag_values.

For example,

>>> disnake.Intents(guilds=True) == disnake.Intents.guilds
True

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 the t: enhancement New feature label Oct 1, 2024
@shiftinv shiftinv added this to the disnake v2.10 milestone Oct 1, 2024
@Enegg
Copy link
Contributor

Enegg commented Nov 15, 2024

I think this could go a step further and make BaseFlags.flag simply return an instance of BaseFlags
Thoughts?

@Enegg
Copy link
Contributor

Enegg commented Nov 16, 2024

See Enegg@2cbd98e

disnake/flags.py Outdated Show resolved Hide resolved
@shiftinv
Copy link
Member

I think this could go a step further and make BaseFlags.flag simply return an instance of BaseFlags
Thoughts?

@Enegg Yea, this has come up once or twice, it would be a good thing in the long run. In an ideal world, flags would probably just be a special type of enum, like they are in the stdlib.
I want to avoid changing this in 2.x in case anyone is somehow relying on this, but it could be a good starting point for a potential refactor in 3.0 (or just a standalone change), if you'd like to PR your branch.

@shiftinv shiftinv enabled auto-merge (squash) November 29, 2024 10:27
Copy link
Member

@shiftinv shiftinv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks!

@shiftinv shiftinv merged commit b92f382 into DisnakeDev:master Nov 29, 2024
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t: enhancement New feature
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants