Disable FakeNitro for Nitro subscribers#4239
Conversation
There was a problem hiding this comment.
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.
|
Committed some of Gemini's suggestions |
|
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 Could it be because Ext. Stickers and Emojis are disabled in the server? |
|
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 |
|
Alright, thanks! |
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:
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)