Skip to content

Disable FakeNitro for Nitro subscribers#4239

Closed
EmirX3D wants to merge 1 commit into
Vendicated:mainfrom
EmirX3D:main
Closed

Disable FakeNitro for Nitro subscribers#4239
EmirX3D wants to merge 1 commit into
Vendicated:mainfrom
EmirX3D:main

Conversation

@EmirX3D
Copy link
Copy Markdown

@EmirX3D EmirX3D commented May 24, 2026

When I have the FakeNitro plugin enabled (enabled it before I got a Nitro subscription) while my Nitro is activated, and I use for example - an external sticker from another server, FakeNitro gets prioritized over the real Nitro, and it will send a FakeNitro hyperlink instead of a regular sticker. This becomes annoying for some users at some point, and will eventually lead them to disable the extension altogether. To combat this, I've:

  • Disabled FakeNitro when the current user already has an active Nitro subscription
  • Gated FakeNitro patches and runtime handlers behind the user’s premium status
  • Prevented emoji/sticker/theme/stream bypass behaviour from running for Nitro users
    When the user's Nitro subscription expires, it will read that the user does not currently have an active Nitro subscription, and will allow them to use the plugin again. All of these changes are silent. A better approach would be to disable the plugin automatically when it detects that the user has an active Nitro subscription, or to give them a notification that the plugin is silently disabled.

(ran ESLint for testing)

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a hasNitroSubscription helper and an isActive method to ensure that fake Nitro features are only enabled for users without an active subscription. The implementation involves adding predicates to various patches and early returns in several utility methods. The review feedback points out multiple instances of redundant !hasNitroSubscription() checks in nested replacement objects where the parent patch already handles the condition. Additionally, it is recommended to use the new helper function within the canUseEmotes getter for better consistency.

Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
Comment thread src/plugins/fakeNitro/index.tsx Outdated
@EmirX3D
Copy link
Copy Markdown
Author

EmirX3D commented May 24, 2026

Committed some of Gemini's suggestions

@Vendicated
Copy link
Copy Markdown
Owner

This isn't a real issue, the plugin already handles those cases. They will only be sent as FakeNitro emojis/stickers if that expression is unavailable for some reason

@Vendicated Vendicated closed this May 24, 2026
@EmirX3D
Copy link
Copy Markdown
Author

EmirX3D commented May 24, 2026

@Vendicated Could it be because Ext. Stickers and Emojis are disabled in the server?
If so, much love

@Vendicated
Copy link
Copy Markdown
Owner

Vendicated commented May 24, 2026

yes if you don't have permission to use external emotes/stickers it will also send them as FakeNitro emoji (assuming you have embed perms)

People who don't want this behaviour can just turn off emoji/sticker spoofing in settings

@EmirX3D
Copy link
Copy Markdown
Author

EmirX3D commented May 24, 2026

Alright, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants