Skip to content

fix(invite): guard against None code - #3313

Open
vmphase wants to merge 17 commits into
masterfrom
fix/invite-optional-code
Open

fix(invite): guard against None code#3313
vmphase wants to merge 17 commits into
masterfrom
fix/invite-optional-code

Conversation

@vmphase

@vmphase vmphase commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

Invite.__init__ accepts VanityInvite as a type, but VanityInvite.code is optional.
Hence, if code is None, Invite.url interpolates it (str(None) yields None) resulting https://discord.gg/None.

Information

  • 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, typehinting,
    examples, ...).

Checklist

  • I have searched the open pull requests for duplicates.
  • If code changes were made then they have been tested.
    • I have updated the documentation to reflect the changes.
  • If type: ignore comments were used, a comment is also left explaining why.
  • I have updated the changelog to include these changes.
  • I have read the Contributing Guidelines.
  • AI Usage has been disclosed.
    • If AI has been used, I understand fully what the code does

@vmphase
vmphase requested review from a team, NeloBlivion and plun1331 July 21, 2026 15:31
@vmphase
vmphase requested a review from a team as a code owner July 21, 2026 15:31
@vmphase
vmphase requested review from Lulalaby and removed request for a team July 21, 2026 15:31
@github-project-automation github-project-automation Bot moved this to Todo in Pycord Jul 21, 2026
@pycord-app

pycord-app Bot commented Jul 21, 2026

Copy link
Copy Markdown

Thanks for opening this pull request!
Please make sure you have read the Contributing Guidelines and Code of Conduct.

This pull request can be checked-out with:

git fetch origin pull/3313/head:pr-3313
git checkout pr-3313

This pull request can be installed with:

pip install git+https://github.com/Pycord-Development/pycord@refs/pull/3313/head

@vmphase
vmphase requested a review from a team as a code owner July 21, 2026 15:33
@vmphase
vmphase requested review from a team, EmmmaTech and VincentRPS July 21, 2026 15:33
@vmphase
vmphase requested a review from a team July 21, 2026 15:58

@Paillat-dev Paillat-dev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What are the specific cases where code is missing ?

Comment thread discord/invite.py
@Paillat-dev Paillat-dev added this to the 2.9.0rc1 milestone Jul 26, 2026
@vmphase

vmphase commented Jul 26, 2026

Copy link
Copy Markdown
Member Author

What are the specific cases where code is missing ?

Can't recall for now but it potentially could be, because it returns a partial invite object.

Comment thread discord/invite.py
Comment thread discord/invite.py
Comment thread CHANGELOG.md Outdated
@vmphase
vmphase requested a review from a team as a code owner July 27, 2026 07:07
@vmphase
vmphase requested review from Lulalaby and Paillat-dev July 27, 2026 07:26
Lulalaby
Lulalaby previously approved these changes Jul 27, 2026
@Paillat-dev

This comment was marked as duplicate.

Comment thread CHANGELOG.md Outdated

@Paillat-dev Paillat-dev left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Returns a partial invite object for guilds with that feature enabled. Requires the MANAGE_GUILD permission. code will be null if a vanity url for the guild is not set.

While technically code can be null, that is to signify a vanity invite is not set. So I am confused as to why we would create an Invite object for it in the first place. Guarding for that if it even is the case is a better fix imo

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.

3 participants