diff --git a/README.md b/README.md index 45f04fb7..57614f90 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,15 @@ An enhanced version of [Vencord](https://github.com/Vendicated/Vencord) by [Vendicated](https://github.com/Vendicated) called Equicord +Thank you to [Suncord](https://github.com/verticalsync/Suncord) by verticalsync for letting me rob your code sometimes :3 + ![image](https://i.ibb.co/xgNr2gq/image-2023-11-24-122019133.png) ## Features - Third-party plugins implemented into the main build. - 100+ plugins built-in. - - Some highlights: SpotifyControls, MessageLogger, Experiments, GameActivityToggle, Translate, NoTrack, QuickReply, Free Emotes/Stickers, PermissionsViewer, + - Some highlights: SpotifyControls, MessageLogger, Experiments, GameActivityToggle, Translate, NoTrack, QuickReply, Free Emotes/Stickers, PermissionsViewer, CustomCommands, ShowHiddenChannels, PronounDB - Fairly lightweight despite the many inbuilt plugins - Works on any Discord branch: Stable, Canary or PTB all work (though for the best experience, I recommend stable!) diff --git a/src/api/Badges.ts b/src/api/Badges.ts index b50016c5..2b4f4563 100644 --- a/src/api/Badges.ts +++ b/src/api/Badges.ts @@ -80,7 +80,9 @@ export function _getBadges(args: BadgeUserArgs) { } } const donorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getDonorBadges(args.user.id); + const equicordDonorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getEquicordDonorBadges(args.user.id); if (donorBadges) badges.unshift(...donorBadges); + if (equicordDonorBadges) badges.unshift(...equicordDonorBadges); return badges; } diff --git a/src/components/ThemeSettings/ThemesTab.tsx b/src/components/ThemeSettings/ThemesTab.tsx index 89a76bce..79434e7b 100644 --- a/src/components/ThemeSettings/ThemesTab.tsx +++ b/src/components/ThemeSettings/ThemesTab.tsx @@ -21,7 +21,7 @@ import { useAwaiter } from "@utils/react"; import type { ThemeHeader } from "@utils/themes"; import { getThemeInfo, stripBOM, type UserThemeHeader } from "@utils/themes/bd"; import { usercssParse } from "@utils/themes/usercss"; -import { findByCodeLazy, findLazy } from "@webpack"; +import { findLazy } from "@webpack"; import { Button, Card, Forms, React, showToast, TabBar, Tooltip, useEffect, useMemo, useRef, useState } from "@webpack/common"; import type { ComponentType, Ref, SyntheticEvent } from "react"; import type { UserstyleHeader } from "usercss-meta"; diff --git a/src/equicordplugins/VCSupport/index.ts b/src/equicordplugins/VCSupport/index.ts index 4a7b46b3..f803c408 100644 --- a/src/equicordplugins/VCSupport/index.ts +++ b/src/equicordplugins/VCSupport/index.ts @@ -4,11 +4,11 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; export default definePlugin({ name: "VCSupport", description: "Wumpus Dance + Support Warning", - authors: [Devs.thororen], + authors: [EquicordDevs.thororen], }); diff --git a/src/equicordplugins/allCallTimers/Timer.tsx b/src/equicordplugins/allCallTimers/Timer.tsx index 6734c6a5..dd70a368 100644 --- a/src/equicordplugins/allCallTimers/Timer.tsx +++ b/src/equicordplugins/allCallTimers/Timer.tsx @@ -35,4 +35,4 @@ export function Timer({ time }: Readonly<{ time: number; }>) { ); } -} \ No newline at end of file +} diff --git a/src/equicordplugins/allCallTimers/TimerIcon.tsx b/src/equicordplugins/allCallTimers/TimerIcon.tsx index 0a92b73a..ebb5fb04 100644 --- a/src/equicordplugins/allCallTimers/TimerIcon.tsx +++ b/src/equicordplugins/allCallTimers/TimerIcon.tsx @@ -23,4 +23,4 @@ export function TimerIcon({ height = 16, width = 16, className }: Readonly<{ C425,186.896,387.944,124.958,332.229,90.04z M355,272.5H212.5V130h30v112.5H355V272.5z"/> ); -} \ No newline at end of file +} diff --git a/src/equicordplugins/allCallTimers/index.tsx b/src/equicordplugins/allCallTimers/index.tsx index 9326ed26..36ec68bf 100644 --- a/src/equicordplugins/allCallTimers/index.tsx +++ b/src/equicordplugins/allCallTimers/index.tsx @@ -6,7 +6,7 @@ import { definePluginSettings } from "@api/Settings"; import ErrorBoundary from "@components/ErrorBoundary"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import { FluxDispatcher, GuildStore, UserStore } from "@webpack/common"; import { PassiveUpdateState, VoiceState } from "@webpack/types"; @@ -101,7 +101,7 @@ let runOneTime = true; export default definePlugin({ name: "AllCallTimers", description: "Add call timer to all users in a server voice channel.", - authors: [Devs.MaxHerbold, Devs.D3SOX], + authors: [EquicordDevs.MaxHerbold, Devs.D3SOX], settings, diff --git a/src/equicordplugins/allCallTimers/timerText.tsx b/src/equicordplugins/allCallTimers/timerText.tsx index 396784fd..dc102b74 100644 --- a/src/equicordplugins/allCallTimers/timerText.tsx +++ b/src/equicordplugins/allCallTimers/timerText.tsx @@ -6,10 +6,10 @@ export function TimerText({ text, className }: Readonly<{ text: string; className: string; }>) { return
{text}
; -} \ No newline at end of file +} diff --git a/src/equicordplugins/allowedMentions/index.tsx b/src/equicordplugins/allowedMentions/index.tsx index bd2b81fc..d02b8a1b 100644 --- a/src/equicordplugins/allowedMentions/index.tsx +++ b/src/equicordplugins/allowedMentions/index.tsx @@ -7,7 +7,7 @@ import { addPreSendListener, MessageExtra, removePreSendListener } from "@api/MessageEvents"; import { definePluginSettings } from "@api/Settings"; import { Flex } from "@components/Flex"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import { isNonNullish } from "@utils/guards"; import definePlugin, { OptionType } from "@utils/types"; import { Alerts, GuildStore, PermissionsBits, PermissionStore } from "@webpack/common"; @@ -17,7 +17,7 @@ import { AllowedMentions, AllowedMentionsBar, AllowedMentionsProps, AllowedMenti export default definePlugin({ name: "AllowedMentions", - authors: [Devs.arHSM, Devs.amia], + authors: [EquicordDevs.arHSM, Devs.amia], description: "Fine grained control over whom to ping when sending or editing a message.", dependencies: ["MessageEventsAPI"], settings: definePluginSettings({ diff --git a/src/equicordplugins/copyEmojiAsFormattedString/index.tsx b/src/equicordplugins/copyEmojiAsFormattedString/index.tsx index f808b4b6..0cc607e0 100644 --- a/src/equicordplugins/copyEmojiAsFormattedString/index.tsx +++ b/src/equicordplugins/copyEmojiAsFormattedString/index.tsx @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { Clipboard, Menu, showToast, Toasts } from "@webpack/common"; @@ -54,7 +54,7 @@ function getEmojiFormattedString(target: Target): string { export default definePlugin({ name: "CopyEmojiAsString", description: "Add's button to copy emoji as formatted string!", - authors: [Devs.HAPPY_ENDERMAN, Devs.VISHNYA_NET_CHERESHNYA], + authors: [EquicordDevs.HAPPY_ENDERMAN, EquicordDevs.VISHNYA_NET_CHERESHNYA], contextMenus: { "expression-picker"(children, { target }: { target: Target; }) { if (target.dataset.type !== "emoji") return; diff --git a/src/equicordplugins/copyUserMention/index.tsx b/src/equicordplugins/copyUserMention/index.tsx index 9b5839a9..81423265 100644 --- a/src/equicordplugins/copyUserMention/index.tsx +++ b/src/equicordplugins/copyUserMention/index.tsx @@ -5,7 +5,7 @@ */ import { NavContextMenuPatchCallback } from "@api/ContextMenu"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { Clipboard, Menu } from "@webpack/common"; import type { Channel, User } from "discord-types/general"; @@ -45,7 +45,7 @@ const UserContextMenuPatch: NavContextMenuPatchCallback = (children, { user }: U export default definePlugin({ name: "CopyUserMention", - authors: [Devs.Cortex, Devs.castdrian], + authors: [EquicordDevs.Cortex, Devs.castdrian], description: "Adds a button to copy user's mention on the user context menu, works best with ValidUser.", contextMenus: { "user-context": UserContextMenuPatch diff --git a/src/equicordplugins/customAppIcons/index.tsx b/src/equicordplugins/customAppIcons/index.tsx index c28ea0ac..95c76e9f 100644 --- a/src/equicordplugins/customAppIcons/index.tsx +++ b/src/equicordplugins/customAppIcons/index.tsx @@ -17,7 +17,7 @@ */ import { Link } from "@components/Link"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import { localStorage } from "@utils/localStorage"; import { closeAllModals, openModal } from "@utils/modal"; import definePlugin from "@utils/types"; @@ -51,7 +51,7 @@ function removeAppIcon() { export default definePlugin({ name: "CustomAppIcons", description: "Add/upload custom (In-)App Icons.", - authors: [Devs.HAPPY_ENDERMAN, Devs.SerStars], + authors: [EquicordDevs.HAPPY_ENDERMAN, EquicordDevs.SerStars], patches: [ { find: ".PremiumUpsellTypes.APP_ICON_UPSELL", @@ -99,12 +99,12 @@ export default definePlugin({ <> How to use? - - Go to { e.preventDefault(); closeAllModals(); FluxDispatcher.dispatch({ type: "USER_SETTINGS_MODAL_SET_SECTION", section: "Appearance" }); }}>Appearance Settings tab. - Scroll down to "In-app Icons" and click on "Preview App Icon". - And upload your own custom icon! - You can only use links when you are uploading your Custom Icon. - + + Go to { e.preventDefault(); closeAllModals(); FluxDispatcher.dispatch({ type: "USER_SETTINGS_MODAL_SET_SECTION", section: "Appearance" }); }}>Appearance Settings tab. + Scroll down to "In-app Icons" and click on "Preview App Icon". + And upload your own custom icon! + You can only use links when you are uploading your Custom Icon. + ); } -}); \ No newline at end of file +}); diff --git a/src/equicordplugins/customScreenShare.desktop/index.tsx b/src/equicordplugins/customScreenShare.desktop/index.tsx index a2c811cd..981681db 100644 --- a/src/equicordplugins/customScreenShare.desktop/index.tsx +++ b/src/equicordplugins/customScreenShare.desktop/index.tsx @@ -17,7 +17,7 @@ */ import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType, StartAt } from "@utils/types"; import { Forms, Menu, TextInput, useState } from "@webpack/common"; @@ -89,7 +89,7 @@ const settings = definePluginSettings({ export default definePlugin({ name: "CustomScreenShare", description: "Stream any resolution and any FPS!", - authors: [Devs.KawaiianPizza], + authors: [EquicordDevs.KawaiianPizza], settingsAboutComponent: () => ( Usage diff --git a/src/equicordplugins/doNotLeak/index.ts b/src/equicordplugins/doNotLeak/index.ts index 316d2985..07a12aa9 100644 --- a/src/equicordplugins/doNotLeak/index.ts +++ b/src/equicordplugins/doNotLeak/index.ts @@ -18,7 +18,7 @@ import { definePluginSettings, migratePluginSettings } from "@api/Settings"; import { disableStyle, enableStyle } from "@api/Styles"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import styles from "./style.css?managed"; @@ -54,7 +54,7 @@ migratePluginSettings("DoNotLeak", "Do Not Leak!"); export default definePlugin({ name: "DoNotLeak", description: "Hide all message contents and attachments when you're streaming or sharing your screen.", - authors: [Devs.Perny], + authors: [EquicordDevs.Perny], settings, start() { document.addEventListener("keyup", keyUpHandler); diff --git a/src/equicordplugins/doubleCounterVerifyBypass/index.tsx b/src/equicordplugins/doubleCounterVerifyBypass/index.tsx index 1f80b58b..d0c657e6 100644 --- a/src/equicordplugins/doubleCounterVerifyBypass/index.tsx +++ b/src/equicordplugins/doubleCounterVerifyBypass/index.tsx @@ -5,7 +5,7 @@ */ import { NavContextMenuPatchCallback } from "@api/ContextMenu"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { Alerts, Menu } from "@webpack/common"; import { Message } from "discord-types/general"; @@ -56,7 +56,7 @@ async function verify(link) { export default definePlugin({ name: "DoubleCounterBypass", description: "Bypass Double Counter verifications easily.", - authors: [Devs.nyx], + authors: [EquicordDevs.nyx], contextMenus: { "message": patchMessageContextMenu, diff --git a/src/equicordplugins/emojiDumper/index.tsx b/src/equicordplugins/emojiDumper/index.tsx index fec58e65..b8ad78f3 100644 --- a/src/equicordplugins/emojiDumper/index.tsx +++ b/src/equicordplugins/emojiDumper/index.tsx @@ -5,7 +5,7 @@ */ import { addContextMenuPatch, findGroupChildrenByChildId, NavContextMenuPatchCallback, removeContextMenuPatch } from "@api/ContextMenu"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { Menu } from "@webpack/common"; import type { Guild } from "discord-types/general"; @@ -26,9 +26,9 @@ export default definePlugin({ name: "emojiDumper", description: "Context menu to dump and download a server's emojis.", authors: [ - Devs.Cortex, + EquicordDevs.Cortex, Devs.Samwich, - Devs.Woosh, + EquicordDevs.Woosh, ], start() { addContextMenuPatch(["guild-context", "guild-header-popout"], Patch); diff --git a/src/equicordplugins/equicordCSS/index.ts b/src/equicordplugins/equicordCSS/index.ts index 0c9eca83..21fe27d3 100644 --- a/src/equicordplugins/equicordCSS/index.ts +++ b/src/equicordplugins/equicordCSS/index.ts @@ -19,7 +19,7 @@ // Import required modules and components import { definePluginSettings, migratePluginSettings } from "@api/Settings"; import { disableStyle, enableStyle } from "@api/Styles"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; // Importing the style managed fixes on and off switch @@ -81,7 +81,7 @@ migratePluginSettings("EquicordCSS", "EquicordBuiltIn"); export default definePlugin({ name: "EquicordCSS", description: "CSS for Equicord users. You will need to look at the settings.", - authors: [Devs.FoxStorm1, Devs.thororen], + authors: [EquicordDevs.FoxStorm1, EquicordDevs.thororen], dependencies: ["ThemeAttributes"], settings, start() { diff --git a/src/equicordplugins/exportContacts/index.tsx b/src/equicordplugins/exportContacts/index.tsx index 35313147..8cbe2bb2 100644 --- a/src/equicordplugins/exportContacts/index.tsx +++ b/src/equicordplugins/exportContacts/index.tsx @@ -19,7 +19,7 @@ import "./styles.css"; import ErrorBoundary from "@components/ErrorBoundary"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { Clipboard, Toasts } from "@webpack/common"; @@ -57,7 +57,7 @@ function getUsernames(contacts: ContactsList[], type: number): string[] { export default definePlugin({ name: "ExportContacts", description: "Export a list of friends to your clipboard. Adds a new button to the menu bar for the friends tab.", - authors: [Devs.dat_insanity], + authors: [EquicordDevs.dat_insanity], patches: [ { find: "fetchRelationships(){", diff --git a/src/plugins/fakeProfileThemes/components/BuilderButton.tsx b/src/equicordplugins/fakeProfileThemes/components/BuilderButton.tsx similarity index 100% rename from src/plugins/fakeProfileThemes/components/BuilderButton.tsx rename to src/equicordplugins/fakeProfileThemes/components/BuilderButton.tsx diff --git a/src/plugins/fakeProfileThemes/components/ColorPickerModal.tsx b/src/equicordplugins/fakeProfileThemes/components/ColorPickerModal.tsx similarity index 100% rename from src/plugins/fakeProfileThemes/components/ColorPickerModal.tsx rename to src/equicordplugins/fakeProfileThemes/components/ColorPickerModal.tsx diff --git a/src/plugins/fakeProfileThemes/components/ProfileEffectModal.tsx b/src/equicordplugins/fakeProfileThemes/components/ProfileEffectModal.tsx similarity index 100% rename from src/plugins/fakeProfileThemes/components/ProfileEffectModal.tsx rename to src/equicordplugins/fakeProfileThemes/components/ProfileEffectModal.tsx diff --git a/src/plugins/fakeProfileThemes/index.tsx b/src/equicordplugins/fakeProfileThemes/index.tsx similarity index 99% rename from src/plugins/fakeProfileThemes/index.tsx rename to src/equicordplugins/fakeProfileThemes/index.tsx index 37e1f45e..530aebe4 100644 --- a/src/plugins/fakeProfileThemes/index.tsx +++ b/src/equicordplugins/fakeProfileThemes/index.tsx @@ -5,7 +5,7 @@ */ import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import { Margins } from "@utils/margins"; import { copyWithToast } from "@utils/misc"; import { closeModal } from "@utils/modal"; @@ -286,7 +286,7 @@ const settings = definePluginSettings({ export default definePlugin({ name: "FakeProfileThemes", description: "Allows profile theming and the usage of profile effects by hiding the colors and effect ID in your About Me using invisible, zero-width characters", - authors: [Devs.ryan], + authors: [EquicordDevs.ryan], patches: [ { find: '"UserProfileStore"', diff --git a/src/plugins/fakeProfileThemes/types.ts b/src/equicordplugins/fakeProfileThemes/types.ts similarity index 100% rename from src/plugins/fakeProfileThemes/types.ts rename to src/equicordplugins/fakeProfileThemes/types.ts diff --git a/src/equicordplugins/globalBadges/index.tsx b/src/equicordplugins/globalBadges/index.tsx index 55dbca59..c566f4bf 100644 --- a/src/equicordplugins/globalBadges/index.tsx +++ b/src/equicordplugins/globalBadges/index.tsx @@ -17,7 +17,7 @@ */ import { addBadge, BadgePosition, ProfileBadge, removeBadge } from "@api/Badges"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import { React, Tooltip } from "@webpack/common"; import { User } from "discord-types/general"; @@ -111,7 +111,7 @@ const showCustom = () => Vencord.Settings.plugins.GlobalBadges.showCustom; export default definePlugin({ name: "GlobalBadges", description: "Adds global badges from other client mods", - authors: [Devs.HypedDomi, Devs.Wolfie], + authors: [Devs.HypedDomi, EquicordDevs.Wolfie], start: () => addBadge(Badge), stop: () => removeBadge(Badge), diff --git a/src/equicordplugins/hideMessage/index.tsx b/src/equicordplugins/hideMessage/index.tsx index 19647b51..1ea82497 100644 --- a/src/equicordplugins/hideMessage/index.tsx +++ b/src/equicordplugins/hideMessage/index.tsx @@ -11,7 +11,7 @@ import { get, set } from "@api/DataStore"; import { addAccessory, removeAccessory } from "@api/MessageAccessories"; import { definePluginSettings } from "@api/Settings"; import { classNameFactory } from "@api/Styles"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import { Menu } from "@webpack/common"; @@ -129,7 +129,7 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "HideMessage", description: "Adds a context menu option to hide messages", - authors: [Devs.Hanzy], + authors: [EquicordDevs.Hanzy], settings, contextMenus: { diff --git a/src/equicordplugins/holyNotes/index.tsx b/src/equicordplugins/holyNotes/index.tsx index ba7d7582..999dc9e4 100644 --- a/src/equicordplugins/holyNotes/index.tsx +++ b/src/equicordplugins/holyNotes/index.tsx @@ -22,7 +22,7 @@ import { NavContextMenuPatchCallback } from "@api/ContextMenu"; import { DataStore } from "@api/index"; import { addButton, removeButton } from "@api/MessagePopover"; import ErrorBoundary from "@components/ErrorBoundary"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import { classes } from "@utils/misc"; import { openModal } from "@utils/modal"; import definePlugin from "@utils/types"; @@ -71,7 +71,7 @@ function ToolBarHeader() { export default definePlugin({ name: "HolyNotes", description: "Holy Notes allows you to save messages", - authors: [Devs.Wolfie], + authors: [EquicordDevs.Wolfie], dependencies: ["MessagePopoverAPI", "ChatInputButtonAPI"], patches: [ diff --git a/src/equicordplugins/iRememberYou/index.tsx b/src/equicordplugins/iRememberYou/index.tsx index c811c250..622ac09e 100644 --- a/src/equicordplugins/iRememberYou/index.tsx +++ b/src/equicordplugins/iRememberYou/index.tsx @@ -8,7 +8,7 @@ import { DataStore } from "@api/index"; import { addPreSendListener, removePreSendListener } from "@api/MessageEvents"; import ExpandableHeader from "@components/ExpandableHeader"; import { Heart } from "@components/Heart"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import { openUserProfile } from "@utils/discord"; import * as Modal from "@utils/modal"; import definePlugin from "@utils/types"; @@ -370,7 +370,7 @@ class DataUI { export default definePlugin({ name: "IRememberYou", description: "Locally saves everyone you've been communicating with (including servers), in case of lose", - authors: [Devs.zoodogood], + authors: [EquicordDevs.zoodogood], dependencies: ["MessageEventsAPI"], patches: [], diff --git a/src/equicordplugins/keywordNotify/index.tsx b/src/equicordplugins/keywordNotify/index.tsx index e497e31d..3adff6f0 100644 --- a/src/equicordplugins/keywordNotify/index.tsx +++ b/src/equicordplugins/keywordNotify/index.tsx @@ -10,7 +10,7 @@ import { DataStore } from "@api/index"; import { definePluginSettings } from "@api/Settings"; import { Flex } from "@components/Flex"; import { DeleteIcon } from "@components/Icons"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import { useForceUpdater } from "@utils/react"; import definePlugin, { OptionType } from "@utils/types"; import { Button, Forms, TextInput, UserStore, UserUtils, useState } from "@webpack/common"; @@ -90,7 +90,7 @@ const settings = definePluginSettings({ export default definePlugin({ name: "KeywordNotify", - authors: [Devs.camila314], + authors: [EquicordDevs.camila314], description: "Sends a notification if a given message matches certain keywords or regexes", settings, patches: [ diff --git a/src/equicordplugins/messageLatency/index.tsx b/src/equicordplugins/messageLatency/index.tsx index a8633df3..b42f08d0 100644 --- a/src/equicordplugins/messageLatency/index.tsx +++ b/src/equicordplugins/messageLatency/index.tsx @@ -5,7 +5,7 @@ */ import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import { isNonNullish } from "@utils/guards"; import definePlugin, { OptionType } from "@utils/types"; import { waitFor } from "@webpack"; @@ -31,7 +31,7 @@ waitFor("HiddenVisually", mod => { export default definePlugin({ name: "MessageLatency", description: "Displays an indicator for messages that took ≥n seconds to send", - authors: [Devs.arHSM], + authors: [EquicordDevs.arHSM], settings: definePluginSettings({ latency: { type: OptionType.NUMBER, diff --git a/src/equicordplugins/noNitroUpsell/index.ts b/src/equicordplugins/noNitroUpsell/index.ts index 15c49ae0..a5c47768 100644 --- a/src/equicordplugins/noNitroUpsell/index.ts +++ b/src/equicordplugins/noNitroUpsell/index.ts @@ -4,7 +4,7 @@ * SPDX-License-Identifier: GPL-3.0-or-later */ -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { UserStore } from "@webpack/common"; import { User } from "discord-types/general"; @@ -20,7 +20,7 @@ interface ModifiedUser extends User { export default definePlugin({ name: "NoNitroUpsell", description: "Removes ALL of Discord's nitro upsells by tricking the client into thinking you have nitro.", - authors: [Devs.thororen], + authors: [EquicordDevs.thororen], ready(user: ModifiedUser): void { if (!user) return; if ("_realPremiumType" in user) return; diff --git a/src/equicordplugins/platformSpoofer/index.ts b/src/equicordplugins/platformSpoofer/index.ts index a439de18..98c1aaa4 100644 --- a/src/equicordplugins/platformSpoofer/index.ts +++ b/src/equicordplugins/platformSpoofer/index.ts @@ -5,7 +5,7 @@ */ import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; const settings = definePluginSettings({ @@ -30,7 +30,7 @@ const settings = definePluginSettings({ export default definePlugin({ name: "PlatformSpoofer", description: "Spoof what platform or device you're on", - authors: [Devs.Drag], + authors: [EquicordDevs.Drag], settings: settings, patches: [ { diff --git a/src/equicordplugins/purgeMessages/index.ts b/src/equicordplugins/purgeMessages/index.ts index c1f2ce65..9cd4015d 100644 --- a/src/equicordplugins/purgeMessages/index.ts +++ b/src/equicordplugins/purgeMessages/index.ts @@ -17,7 +17,7 @@ */ import { ApplicationCommandInputType, ApplicationCommandOptionType, findOption, sendBotMessage } from "@api/Commands"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { findByPropsLazy } from "@webpack"; import { MessageStore, UserStore } from "@webpack/common"; @@ -45,7 +45,7 @@ export default definePlugin({ name: "MessagePurge", description: "Purges messages from a channel", dependencies: ["CommandsAPI"], - authors: [Devs.bhop, Devs.nyx], + authors: [EquicordDevs.bhop, EquicordDevs.nyx], commands: [ { name: "purge", diff --git a/src/equicordplugins/questionMarkReplacement/index.tsx b/src/equicordplugins/questionMarkReplacement/index.tsx index e63d44b0..92c623b3 100644 --- a/src/equicordplugins/questionMarkReplacement/index.tsx +++ b/src/equicordplugins/questionMarkReplacement/index.tsx @@ -6,7 +6,7 @@ import { addPreSendListener, removePreSendListener } from "@api/MessageEvents"; import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; const settings = definePluginSettings({ @@ -31,7 +31,7 @@ function replaceQuestionMarks(content: string): string { export default definePlugin({ name: "QuestionMarkReplace", description: "Replace all question marks with chosen string, if message only contains question marks.", - authors: [Devs.nyx], + authors: [EquicordDevs.nyx], settings, diff --git a/src/equicordplugins/replyPingControl/index.ts b/src/equicordplugins/replyPingControl/index.ts index 6adda15c..a3576e2e 100644 --- a/src/equicordplugins/replyPingControl/index.ts +++ b/src/equicordplugins/replyPingControl/index.ts @@ -5,7 +5,7 @@ */ import { definePluginSettings } from "@api/Settings"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import { MessageStore, showToast, UserStore } from "@webpack/common"; import { MessageJSON } from "discord-types/general"; @@ -43,7 +43,7 @@ export const settings = definePluginSettings({ export default definePlugin({ name: "ReplyPingControl", description: "Control whether to always or never get pinged on message replies, with a whitelist feature", - authors: [Devs.ant0n, Devs.MrDiamond], + authors: [Devs.ant0n, EquicordDevs.MrDiamond], settings, patches: [{ diff --git a/src/equicordplugins/search/index.ts b/src/equicordplugins/search/index.ts index 92a2a0ac..20c38413 100644 --- a/src/equicordplugins/search/index.ts +++ b/src/equicordplugins/search/index.ts @@ -17,12 +17,12 @@ */ import { ApplicationCommandOptionType, findOption } from "@api/Commands"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; export default definePlugin({ name: "Search", - authors: [Devs.JacobTm, Devs.thororen], + authors: [Devs.JacobTm, EquicordDevs.thororen], description: "Searchs the web.", dependencies: ["CommandsAPI"], commands: [{ diff --git a/src/equicordplugins/searchFix/index.tsx b/src/equicordplugins/searchFix/index.tsx index e59ce6b7..1051f5eb 100644 --- a/src/equicordplugins/searchFix/index.tsx +++ b/src/equicordplugins/searchFix/index.tsx @@ -16,14 +16,14 @@ * along with this program. If not, see . */ -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; export default definePlugin({ name: "SearchFix", description: 'Fixes the annoying "We dropped the magnifying glass!" error.', settingsAboutComponent: () => This fix isn't perfect, so you may have to reload the search bar to fix issues. Discord only allows a max offset of 5000 (this is what causes the magnifying glass error). This means that you can only see precisely 5000 messages into the past, and 5000 messages into the future (when sorting by old). This plugin just jumps to the opposite sorting method to try get around Discord's restriction, but if there is a large search result, and you try to view a message that is unobtainable with both methods of sorting, the plugin will simply show offset 0 (either newest or oldest message depending on the sorting method)., - authors: [Devs.jaxx], + authors: [EquicordDevs.jaxx], patches: [ { find: '"SearchStore"', diff --git a/src/equicordplugins/sekaiStickers/characters.json.ts b/src/equicordplugins/sekaiStickers/characters.json.ts index b28caa8f..70cf97a5 100644 --- a/src/equicordplugins/sekaiStickers/characters.json.ts +++ b/src/equicordplugins/sekaiStickers/characters.json.ts @@ -5032,4 +5032,4 @@ export const characters = [ } } -]; \ No newline at end of file +]; diff --git a/src/equicordplugins/sekaiStickers/index.tsx b/src/equicordplugins/sekaiStickers/index.tsx index 0797c77f..7b324361 100644 --- a/src/equicordplugins/sekaiStickers/index.tsx +++ b/src/equicordplugins/sekaiStickers/index.tsx @@ -1,4 +1,3 @@ - /* * Vencord, a Discord client mod * Copyright (c) 2024 Vendicated and contributors diff --git a/src/equicordplugins/serverProfilesToolBox/index.tsx b/src/equicordplugins/serverProfilesToolBox/index.tsx index 55a98383..51dcb547 100644 --- a/src/equicordplugins/serverProfilesToolBox/index.tsx +++ b/src/equicordplugins/serverProfilesToolBox/index.tsx @@ -91,4 +91,4 @@ export default definePlugin({ } ], -}); \ No newline at end of file +}); diff --git a/src/equicordplugins/showBadgesInChat/index.tsx b/src/equicordplugins/showBadgesInChat/index.tsx index f8bbe30a..f89dd504 100644 --- a/src/equicordplugins/showBadgesInChat/index.tsx +++ b/src/equicordplugins/showBadgesInChat/index.tsx @@ -5,7 +5,7 @@ */ import { addDecoration, removeDecoration } from "@api/MessageDecorations"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import { isPluginDev } from "@utils/misc"; import definePlugin from "@utils/types"; import { findByPropsLazy } from "@webpack"; @@ -46,6 +46,19 @@ function CheckBadge({ badge, author }: { badge: string; author: any; }): JSX.Ele ))} ); + case "EquicordDonor": + return ( + + {badges.getEquicordDonorBadges(author.id)?.map((badge: any) => ( + + ))} + + ); case "VencordContributer": return isPluginDev(author.id) ? ( @@ -96,6 +109,7 @@ function ChatBadges({ author }: any) { return ( {settings.store.showVencordDonor && } + {settings.store.showVencordDonor && } {settings.store.showVencordContributor && } {settings.store.showDiscordProfile && } {settings.store.showDiscordNitro && } @@ -105,7 +119,7 @@ function ChatBadges({ author }: any) { export default definePlugin({ name: "ShowBadgesInChat", - authors: [Devs.Inbestigator, Devs.KrystalSkull], + authors: [Devs.Inbestigator, EquicordDevs.KrystalSkull], description: "Shows the message author's badges beside their name in chat.", dependencies: ["MessageDecorationsAPI"], patches: [ diff --git a/src/equicordplugins/showBadgesInChat/settings.tsx b/src/equicordplugins/showBadgesInChat/settings.tsx index 0dfadfe2..57a19c99 100644 --- a/src/equicordplugins/showBadgesInChat/settings.tsx +++ b/src/equicordplugins/showBadgesInChat/settings.tsx @@ -23,6 +23,18 @@ const settings = definePluginSettings({ hidden: true, default: 0 }, + showEquicordDonor: { + type: OptionType.BOOLEAN, + description: "Enable to show Vencord donor badges in chat.", + hidden: true, + default: true + }, + EquicordDonorPosition: { + type: OptionType.NUMBER, + description: "The position of the Vencord Donor badges.", + hidden: true, + default: 1 + }, showVencordContributor: { type: OptionType.BOOLEAN, description: "Enable to show Vencord contributor badges in chat.", @@ -33,7 +45,7 @@ const settings = definePluginSettings({ type: OptionType.NUMBER, description: "The position of the Vencord Contributor badge.", hidden: true, - default: 1 + default: 2 }, showDiscordProfile: { type: OptionType.BOOLEAN, @@ -45,7 +57,7 @@ const settings = definePluginSettings({ type: OptionType.NUMBER, description: "The position of the Discord profile badges.", hidden: true, - default: 2 + default: 3 }, showDiscordNitro: { type: OptionType.BOOLEAN, @@ -57,7 +69,7 @@ const settings = definePluginSettings({ type: OptionType.NUMBER, description: "The position of the Discord Nitro badge.", hidden: true, - default: 3 + default: 4 }, badgeSettings: { type: OptionType.COMPONENT, @@ -71,6 +83,7 @@ export default settings; const BadgeSettings = () => { const [images, setImages] = useState([ { src: "https://cdn.discordapp.com/emojis/1026533070955872337.png", shown: settings.store.showVencordDonor, title: "Vencord donor badges", key: "VencordDonor", position: settings.store.VencordDonorPosition }, + { src: "https://i.imgur.com/KsxHlbD.png", shown: settings.store.showEquicordDonor, title: "Equicord donor badges", key: "EquicordDonor", position: settings.store.EquicordDonorPosition }, { src: "https://i.imgur.com/OypoHrV.png", shown: settings.store.showVencordContributor, title: "Vencord/Equicord contributor badge", key: "VencordContributer", position: settings.store.VencordContributorPosition }, { src: "https://cdn.discordapp.com/badge-icons/bf01d1073931f921909045f3a39fd264.png", shown: settings.store.showDiscordProfile, title: "Discord profile badges (HypeSquad, Discord Staff, Active Developer, etc.)", key: "DiscordProfile", position: settings.store.DiscordProfilePosition }, { src: "https://cdn.discordapp.com/badge-icons/2ba85e8026a8614b640c2837bcdfe21b.png", shown: settings.store.showDiscordNitro, title: "Nitro badge", key: "DiscordNitro", position: settings.store.DiscordNitroPosition } @@ -83,6 +96,10 @@ const BadgeSettings = () => { settings.store.VencordDonorPosition = image.position; settings.store.showVencordDonor = image.shown; break; + case "EquiordDonor": + settings.store.EquicordDonorPosition = image.position; + settings.store.showEquicordDonor = image.shown; + break; case "VencordContributer": settings.store.VencordContributorPosition = image.position; settings.store.showVencordContributor = image.shown; diff --git a/src/equicordplugins/soundBoardLogger/index.tsx b/src/equicordplugins/soundBoardLogger/index.tsx index 5cd19879..4b72e2ad 100644 --- a/src/equicordplugins/soundBoardLogger/index.tsx +++ b/src/equicordplugins/soundBoardLogger/index.tsx @@ -6,7 +6,7 @@ import { addChatBarButton, ChatBarButton, removeChatBarButton } from "@api/ChatButtons"; import { disableStyle, enableStyle } from "@api/Styles"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { FluxDispatcher } from "@webpack/common"; @@ -29,10 +29,10 @@ const chatBarIcon: ChatBarButton = () => { export default definePlugin({ name: "SoundBoardLogger", authors: [ - Devs.ImpishMoxxie, - Devs.fres, + EquicordDevs.Moxxie, + EquicordDevs.fres, Devs.echo, - Devs.thororen + EquicordDevs.thororen ], settings, patches: [ diff --git a/src/equicordplugins/unlimitedAccounts/index.ts b/src/equicordplugins/unlimitedAccounts/index.ts index c8e12351..cbeb3b5e 100644 --- a/src/equicordplugins/unlimitedAccounts/index.ts +++ b/src/equicordplugins/unlimitedAccounts/index.ts @@ -16,13 +16,13 @@ * along with this program. If not, see . */ -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; export default definePlugin({ name: "UnlimitedAccounts", description: "Increases the amount of accounts you can add.", - authors: [Devs.Balaclava, Devs.thororen], + authors: [EquicordDevs.Balaclava, EquicordDevs.thororen], patches: [ { find: "multiaccount_cta_tooltip_seen", diff --git a/src/equicordplugins/usrpfp/index.tsx b/src/equicordplugins/usrpfp/index.tsx index 61bf7830..eba6a6f7 100644 --- a/src/equicordplugins/usrpfp/index.tsx +++ b/src/equicordplugins/usrpfp/index.tsx @@ -6,7 +6,7 @@ import { definePluginSettings } from "@api/Settings"; import { Link } from "@components/Link"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; import { User } from "discord-types/general"; @@ -33,7 +33,7 @@ export default definePlugin({ name: "UserPFP", description: "Allows you to use an animated avatar without Nitro", - authors: [Devs.nexpid, Devs.thororen, Devs.FoxStorm1, Devs.coolesding], + authors: [EquicordDevs.nexpid, EquicordDevs.thororen, EquicordDevs.FoxStorm1, EquicordDevs.coolesding], settings, settingsAboutComponent: () => ( <> diff --git a/src/equicordplugins/voiceChatUtils/index.tsx b/src/equicordplugins/voiceChatUtils/index.tsx index 4db1e09d..4c077775 100644 --- a/src/equicordplugins/voiceChatUtils/index.tsx +++ b/src/equicordplugins/voiceChatUtils/index.tsx @@ -5,7 +5,7 @@ */ import { NavContextMenuPatchCallback } from "@api/ContextMenu"; -import { Devs } from "@utils/constants"; +import { Devs, EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { findStoreLazy } from "@webpack"; import { GuildChannelStore, Menu, React, RestAPI, UserStore } from "@webpack/common"; @@ -125,8 +125,8 @@ const VoiceChannelContext: NavContextMenuPatchCallback = (children, { channel }: export default definePlugin({ name: "VoiceChatUtilities", description: "This plugin allows you to perform multiple actions on an entire channel (move, mute, disconnect, etc.) (originally by dutake)", - authors: [Devs.Dams, Devs.D3SOX], + authors: [EquicordDevs.Dams, Devs.D3SOX], contextMenus: { "channel-context": VoiceChannelContext }, -}); \ No newline at end of file +}); diff --git a/src/equicordplugins/voiceDownload/index.tsx b/src/equicordplugins/voiceDownload/index.tsx index 6c89f39b..8ee9a2a4 100644 --- a/src/equicordplugins/voiceDownload/index.tsx +++ b/src/equicordplugins/voiceDownload/index.tsx @@ -7,13 +7,13 @@ import "./style.css"; import ErrorBoundary from "@components/ErrorBoundary"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; export default definePlugin({ name: "VoiceDownload", description: "Download voice messages.", - authors: [Devs.puv], + authors: [EquicordDevs.puv], patches: [ { find: ".rippleContainer", diff --git a/src/equicordplugins/whosWatching/index.tsx b/src/equicordplugins/whosWatching/index.tsx index 92449269..21550250 100644 --- a/src/equicordplugins/whosWatching/index.tsx +++ b/src/equicordplugins/whosWatching/index.tsx @@ -6,7 +6,7 @@ import { classNameFactory } from "@api/Styles"; import { Flex } from "@components/Flex"; -import { Devs } from "@utils/constants"; +import { EquicordDevs } from "@utils/constants"; import definePlugin from "@utils/types"; import { findByPropsLazy, findStoreLazy } from "@webpack"; import { Forms, i18n, RelationshipStore, Tooltip, UserStore, useStateFromStores } from "@webpack/common"; @@ -54,7 +54,7 @@ const { encodeStreamKey }: { export default definePlugin({ name: "WhosWatching", description: "Lets you view what users are watching your stream by hovering over the screenshare icon", - authors: [Devs.fres], + authors: [EquicordDevs.fres], patches: [ { find: ".Masks.STATUS_SCREENSHARE,width:32", diff --git a/src/plugins/_api/badges.tsx b/src/plugins/_api/badges.tsx index 804b7fd5..5494d387 100644 --- a/src/plugins/_api/badges.tsx +++ b/src/plugins/_api/badges.tsx @@ -45,24 +45,24 @@ const ContributorBadge: ProfileBadge = { }; let DonorBadges = {} as Record>>; +let EquicordDonorBadges = {} as Record>>; -async function loadBadges(noCache = false) { - - DonorBadges = {}; - +async function loadBadges(url: string, noCache = false) { const init = {} as RequestInit; - if (noCache) - init.cache = "no-cache"; + if (noCache) init.cache = "no-cache"; - const one = await fetch("https://badges.vencord.dev/badges.json", init) - .then(r => r.json()); - - const two = await fetch("https://raw.githubusercontent.com/Equicord/Ignore/main/badges.json", init) - .then(r => r.json()); - - DonorBadges = { ...one, ...two }; + return await fetch(url, init).then(r => r.json()); } +async function loadAllBadges(noCache = false) { + const vencordBadges = await loadBadges("https://badges.vencord.dev/badges.json", noCache); + const equicordBadges = await loadBadges("https://raw.githubusercontent.com/Equicord/Ignore/main/badges.json", noCache); + + DonorBadges = vencordBadges; + EquicordDonorBadges = equicordBadges; +} + + export default definePlugin({ name: "BadgeAPI", description: "API to add badges to users.", @@ -99,7 +99,7 @@ export default definePlugin({ toolboxActions: { async "Refetch Badges"() { - await loadBadges(true); + await loadAllBadges(true); Toasts.show({ id: Toasts.genId(), message: "Successfully refetched badges!", @@ -110,7 +110,7 @@ export default definePlugin({ async start() { Vencord.Api.Badges.addBadge(ContributorBadge); - await loadBadges(); + await loadAllBadges(); }, renderBadgeComponent: ErrorBoundary.wrap((badge: ProfileBadge & BadgeUserArgs) => { @@ -186,5 +186,75 @@ export default definePlugin({ )); }, })); + }, + + getEquicordDonorBadges(userId: string) { + return EquicordDonorBadges[userId]?.map(badge => ({ + image: badge.badge, + description: badge.tooltip, + position: BadgePosition.START, + props: { + style: { + borderRadius: "50%", + transform: "scale(0.9)" // The image is a bit too big compared to default badges + } + }, + onClick() { + const modalKey = openModal(props => ( + { + closeModal(modalKey); + // Will get my own in the future + VencordNative.native.openExternal("https://github.com/sponsors/Vendicated"); + }}> + + + + + + Equicord Donor + + + + + + + + +
+ + This Badge is a special perk for Equicord Donors + + + Please consider supporting the development of Equicord by becoming a donor. It would mean a lot!! + +
+
+ + + + + +
+
+ )); + }, + })); } }); diff --git a/src/plugins/equicordToolbox/index.tsx b/src/plugins/equicordToolbox/index.tsx index 176122af..66ac10a4 100644 --- a/src/plugins/equicordToolbox/index.tsx +++ b/src/plugins/equicordToolbox/index.tsx @@ -133,7 +133,7 @@ function ToolboxFragmentWrapper({ children }: { children: ReactNode[]; }) { export default definePlugin({ name: "EquicordToolbox", description: "Adds a button next to the inbox button in the channel header that houses Equicord quick actions", - authors: [Devs.Ven, Devs.AutumnVN, Devs.FoxStorm1], + authors: [Devs.Ven, Devs.AutumnVN], patches: [ { diff --git a/src/plugins/memberListActivites/components/SpotifyIcon.tsx b/src/plugins/memberListActivites/components/SpotifyIcon.tsx index 86c73bc3..9210169e 100644 --- a/src/plugins/memberListActivites/components/SpotifyIcon.tsx +++ b/src/plugins/memberListActivites/components/SpotifyIcon.tsx @@ -8,4 +8,4 @@ import type { SVGProps } from "react"; export function SpotifyIcon(props: SVGProps) { return (); -} \ No newline at end of file +} diff --git a/src/plugins/memberListActivites/components/TwitchIcon.tsx b/src/plugins/memberListActivites/components/TwitchIcon.tsx index a493826a..f0246c16 100644 --- a/src/plugins/memberListActivites/components/TwitchIcon.tsx +++ b/src/plugins/memberListActivites/components/TwitchIcon.tsx @@ -8,4 +8,4 @@ import type { SVGProps } from "react"; export function TwitchIcon(props: SVGProps) { return (); -} \ No newline at end of file +} diff --git a/src/plugins/memberListActivites/index.tsx b/src/plugins/memberListActivites/index.tsx index cda1292a..3df0537d 100644 --- a/src/plugins/memberListActivites/index.tsx +++ b/src/plugins/memberListActivites/index.tsx @@ -209,7 +209,7 @@ function getApplicationIcons(activities: Activity[]) { export default definePlugin({ name: "MemberListActivities", description: "Shows activity icons in the member list", - authors: [Devs.D3SOX, Devs.nyx], + authors: [Devs.D3SOX], tags: ["activity"], settings, diff --git a/src/plugins/oneko/index.ts b/src/plugins/oneko/index.ts index 6a36a360..ad35268f 100644 --- a/src/plugins/oneko/index.ts +++ b/src/plugins/oneko/index.ts @@ -21,11 +21,6 @@ import { Devs } from "@utils/constants"; import definePlugin, { OptionType } from "@utils/types"; const settings = definePluginSettings({ - coinsEnabled: { - type: OptionType.BOOLEAN, - default: false, - description: "Enable coins feature (Requires reload)" - }, speed: { description: "Speed of Da Cat :3", type: OptionType.NUMBER, @@ -54,34 +49,19 @@ export default definePlugin({ name: "oneko", description: "cat follow mouse (real)", // Listing adryd here because this literally just evals her script - authors: [Devs.Ven, Devs.adryd, Devs.Gingi, Devs.adryd], + authors: [Devs.Ven, Devs.adryd], settings, start() { - const { coinsEnabled } = settings.store; - if (coinsEnabled) { - fetch("https://raw.githubusercontent.com/0xGingi/oneko.js/acf1ae58ca8bacd9af47a783c2e134136c35f948/oneko.js") - .then(x => x.text()) - .then(s => s.replace("const nekoSpeed = 10;", `const nekoSpeed = ${settings.store.speed};`)) - .then(s => s.replace("./oneko.gif", "https://raw.githubusercontent.com/adryd325/oneko.js/14bab15a755d0e35cd4ae19c931d96d306f99f42/oneko.gif") - .replace("(isReducedMotion)", "(false)")) - .then(x => x.replace("./coin.gif", "https://raw.githubusercontent.com/0xGingi/oneko.js/3de1bf554bb82b58a2c70f828e2420a881e5f283/coin.gif")) - .then(eval); - } - if (!coinsEnabled) { - fetch("https://raw.githubusercontent.com/adryd325/oneko.js/8fa8a1864aa71cd7a794d58bc139e755e96a236c/oneko.js") - .then(x => x.text()) - .then(s => s.replace("const nekoSpeed = 10;", `const nekoSpeed = ${settings.store.speed};`)) - .then(s => s.replace("./oneko.gif", "https://raw.githubusercontent.com/adryd325/oneko.js/14bab15a755d0e35cd4ae19c931d96d306f99f42/oneko.gif") - .replace("(isReducedMotion)", "(false)")) - .then(eval); - } + fetch("https://raw.githubusercontent.com/adryd325/oneko.js/8fa8a1864aa71cd7a794d58bc139e755e96a236c/oneko.js") + .then(x => x.text()) + .then(s => s.replace("const nekoSpeed = 10;", `const nekoSpeed = ${settings.store.speed};`)) + .then(s => s.replace("./oneko.gif", "https://raw.githubusercontent.com/adryd325/oneko.js/14bab15a755d0e35cd4ae19c931d96d306f99f42/oneko.gif") + .replace("(isReducedMotion)", "(false)")) + .then(eval); }, stop() { document.getElementById("oneko")?.remove(); - if (typeof window.removeCoins === "function") { - window.removeCoins(); - } } }); diff --git a/src/plugins/readAllNotificationsButton/index.tsx b/src/plugins/readAllNotificationsButton/index.tsx index 63574764..ae66e11a 100644 --- a/src/plugins/readAllNotificationsButton/index.tsx +++ b/src/plugins/readAllNotificationsButton/index.tsx @@ -61,7 +61,7 @@ const ReadAllButton = () => ( export default definePlugin({ name: "ReadAllNotificationsButton", description: "Read all server notifications with a single button click!", - authors: [Devs.kemo, Devs.KrystalSkull], + authors: [Devs.kemo], dependencies: ["ServerListAPI"], renderReadAllButton: () => , diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 0a8bd966..9731460f 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -51,6 +51,10 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "Cynosphere", id: 150745989836308480n }, + Trwy: { + name: "trey", + id: 354427199023218689n + }, Megu: { name: "Megumin", id: 545581357812678656n @@ -264,6 +268,10 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "Dziurwa", id: 1001086404203389018n }, + F53: { + name: "F53", + id: 280411966126948353n + }, AutumnVN: { name: "AutumnVN", id: 393694671383166998n @@ -372,6 +380,69 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "ant0n", id: 145224646868860928n }, + philipbry: { + name: "philipbry", + id: 554994003318276106n + }, + Korbo: { + name: "Korbo", + id: 455856406420258827n + }, + maisymoe: { + name: "maisy", + id: 257109471589957632n, + }, + Mopi: { + name: "Mopi", + id: 1022189106614243350n + }, + Grzesiek11: { + name: "Grzesiek11", + id: 368475654662127616n, + }, + Samwich: { + name: "Samwich", + id: 976176454511509554n, + }, + coolelectronics: { + name: "coolelectronics", + id: 696392247205298207n, + }, + Av32000: { + name: "Av32000", + id: 593436735380127770n, + }, + Kyuuhachi: { + name: "Kyuuhachi", + id: 236588665420251137n, + }, + Elvyra: { + name: "Elvyra", + id: 708275751816003615n, + }, + Inbestigator: { + name: "Inbestigator", + id: 761777382041714690n + }, + newwares: { + name: "newwares", + id: 421405303951851520n + }, + nakoyasha: { + name: "nakoyasha", + id: 222069018507345921n + }, + Sqaaakoi: { + name: "Sqaaakoi", + id: 259558259491340288n + }, + Byron: { + name: "byeoon", + id: 1167275288036655133n + } +} satisfies Record); + +export const EquicordDevs = Object.freeze({ nexpid: { name: "Nexpid", id: 853550207039832084n @@ -396,106 +467,34 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "thororen", id: 848339671629299742n }, - F53: { - name: "F53", - id: 280411966126948353n - }, - philipbry: { - name: "philipbry", - id: 554994003318276106n - }, MrDiamond: { name: "MrDiamond", id: 523338295644782592n }, - Shalev: { - name: "Shalev4R", - id: 1122950616520593428n - }, fres: { name: "fres", id: 843448897737064448n }, - ImpishMoxxie: { - name: "Moxxie", - id: 712653921692155965n - }, - nakoyasha: { - name: "nakoyasha", - id: 222069018507345921n - }, - SimplyData: { - name: "SimplyData", - id: 301494563514613762n - }, arHSM: { name: "arHSM", id: 841509053422632990n }, - Korbo: { - name: "Korbo", - id: 455856406420258827n - }, - SaucyDuck: { - name: "SaucyDuck", - id: 1004904120056029256n - }, Dams: { name: "Dams", id: 769939285792653325n }, - maisymoe: { - name: "maisy", - id: 257109471589957632n, - }, - GeorgeV22: { - name: "GeorgeV22", - id: 261487490769092608n, - }, - Grzesiek11: { - name: "Grzesiek11", - id: 368475654662127616n, - }, KawaiianPizza: { name: "KawaiianPizza", id: 501000986735673347n, }, - Gingi: { - name: "0xGingi", - id: 351859727568994314n, - }, - Kyuuhachi: { - name: "Kyuuhachi", - id: 236588665420251137n, - }, - Samwich: { - name: "Samwich", - id: 976176454511509554n, - }, Perny: { name: "Perny", id: 1101508982570504244n, }, - coolelectronics: { - name: "coolelectronics", - id: 696392247205298207n, - }, - varram: { - name: "varram", - id: 588937914423967766n - }, jaxx: { name: "Jaxx", id: 901016640253227059n, }, - Mopi: { - name: "Mopi", - id: 1022189106614243350n - }, - Av32000: { - name: "Av32000", - id: 593436735380127770n, - }, Balaclava: { name: "Balaclava", id: 854886148455399436n @@ -504,30 +503,10 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "Moxxie", id: 712653921692155965n, }, - Ethan: { - name: "Ethan", - id: 721717126523781240n, - }, - Elvyra: { - name: "Elvyra", - id: 708275751816003615n, - }, dat_insanity: { name: "dat_insanity", id: 0n, }, - newwares: { - name: "newwares", - id: 421405303951851520n - }, - Trwy: { - name: "trey", - id: 354427199023218689n - }, - Inbestigator: { - name: "Inbestigator", - id: 761777382041714690n - }, coolesding: { name: "cooles", id: 406084422308331522n, @@ -540,10 +519,6 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "puv", id: 469441552251355137n }, - Sqaaakoi: { - name: "Sqaaakoi", - id: 259558259491340288n, - }, HAPPY_ENDERMAN: { name: "Happy enderman", id: 1083437693347827764n @@ -560,10 +535,6 @@ export const Devs = /* #__PURE__*/ Object.freeze({ name: "MaxHerbold", id: 1189527130611138663n, }, - Byron: { - name: "byeoon", - id: 1167275288036655133n, - }, Combatmaster: { name: "Combatmaster331", id: 790562534503612437n diff --git a/src/utils/react.tsx b/src/utils/react.tsx index 061958a6..ad1e9568 100644 --- a/src/utils/react.tsx +++ b/src/utils/react.tsx @@ -162,4 +162,4 @@ export function useFixedTimer({ interval = 1000, initialTime = Date.now() }: Fix }, [initialTime]); return time; -} \ No newline at end of file +} diff --git a/src/webpack/common/types/passiveupdatestate.d.ts b/src/webpack/common/types/passiveupdatestate.d.ts index ac25e6f0..468dd964 100644 --- a/src/webpack/common/types/passiveupdatestate.d.ts +++ b/src/webpack/common/types/passiveupdatestate.d.ts @@ -38,4 +38,4 @@ export interface PassiveUpdateState { id: string; })[]; voiceStates?: VoiceState[]; -} \ No newline at end of file +} diff --git a/src/webpack/common/types/voicestate.d.ts b/src/webpack/common/types/voicestate.d.ts index f2a3cd90..aa7ddcce 100644 --- a/src/webpack/common/types/voicestate.d.ts +++ b/src/webpack/common/types/voicestate.d.ts @@ -18,4 +18,4 @@ export interface VoiceState { sessionId: string; suppress: boolean; requestToSpeakTimestamp: string | null; -} \ No newline at end of file +}