tags
This commit is contained in:
parent
32b6d94bb6
commit
8a9ee4fb9a
189 changed files with 252 additions and 63 deletions
|
|
@ -10,6 +10,7 @@ import definePlugin from "@utils/types";
|
|||
export default definePlugin({
|
||||
name: "AltKrispSwitch",
|
||||
description: "Makes the Noise Suppression Popout switch between None and Krisp instead of Krisp and Standard",
|
||||
tags: ["Customisation", "Voice"],
|
||||
authors: [Devs.newwares],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import definePlugin from "@utils/types";
|
|||
export default definePlugin({
|
||||
name: "AlwaysExpandProfiles",
|
||||
description: "Always expands profile popouts to the full modal",
|
||||
tags: ["Appearance", "Utility"],
|
||||
authors: [Devs.thororen],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -193,6 +193,7 @@ async function playSound(buffer: AudioBuffer, volume: number) {
|
|||
export default definePlugin({
|
||||
name: "Animalese",
|
||||
description: "Plays animal crossing animalese for every message sent (they yap a lot)",
|
||||
tags: ["Customisation", "Fun"],
|
||||
authors: [EquicordDevs.ryanamay, EquicordDevs.Mocha],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ export default definePlugin({
|
|||
name: "AtSomeone",
|
||||
authors: [Devs.Joona],
|
||||
description: "Mention someone randomly",
|
||||
tags: ["Chat", "Fun"],
|
||||
patches: [
|
||||
{
|
||||
find: ".LAUNCHABLE_APPLICATIONS;",
|
||||
|
|
|
|||
|
|
@ -209,6 +209,7 @@ function handlePaste(event: ClipboardEvent) {
|
|||
export default definePlugin({
|
||||
name: "AutoZipper",
|
||||
description: "Automatically zips specified file types and folders before uploading to Discord",
|
||||
tags: ["Chat", "Organisation"],
|
||||
authors: [EquicordDevs.SSnowly],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ const DATASTORE_KEY = "bannersEverywhere";
|
|||
export default definePlugin({
|
||||
name: "BannersEverywhere",
|
||||
description: "Displays banners in the member list ",
|
||||
tags: ["Appearance", "Customisation"],
|
||||
authors: [Devs.ImLvna, Devs.AutumnVN],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "DecodeBase64",
|
||||
description: "Decode base64 content of any message and copy the decoded content.",
|
||||
tags: ["Appearance", "Customisation", "Chat"],
|
||||
authors: [EquicordDevs.ThePirateStoner],
|
||||
settings,
|
||||
messagePopoverButton: {
|
||||
|
|
|
|||
|
|
@ -274,6 +274,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "BetterAudioPlayer",
|
||||
description: "Adds a spectrograph and oscilloscope visualizer to audio attachment players.",
|
||||
tags: ["Appearance", "Media", "Voice"],
|
||||
authors: [EquicordDevs.creations],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "BetterBanReasons",
|
||||
description: "Create custom reasons to use in the Discord ban modal, and/or show a text input by default instead of the options.",
|
||||
tags: ["Appearance", "Customisation"],
|
||||
authors: [Devs.Inbestigator],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ let updateFunc = (v: any) => { };
|
|||
export default definePlugin({
|
||||
name: "BetterBlockedUsers",
|
||||
description: "Allows you to search in blocked users list and makes names selectable in settings.",
|
||||
tags: ["Appearance", "Shortcuts"],
|
||||
authors: [EquicordDevs.TheArmagan],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ function fetchIndex(target: object) {
|
|||
export default definePlugin({
|
||||
name: "BetterCommands",
|
||||
description: "Enhances the command system with miscellaneous improvements.",
|
||||
tags: ["Appearance", "Commands", "Shortcuts"],
|
||||
authors: [Devs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ function lurk(id: string) {
|
|||
export default definePlugin({
|
||||
name: "BetterInvites",
|
||||
description: "See invites expiration date, view inviter profile and preview servers before joining by clicking the name",
|
||||
tags: ["Appearance", "Customisation", "Chat", "Servers"],
|
||||
authors: [EquicordDevs.iamme, Devs.thororen],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ export default definePlugin({
|
|||
name: "BetterPlusReacts",
|
||||
authors: [Devs.Joona],
|
||||
description: "The amount of plus before :emoji: is the message to add it to",
|
||||
tags: ["Chat", "Emotes"],
|
||||
patches: [
|
||||
{
|
||||
find: ".SLASH_COMMAND_USED,",
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ export function containsBlockedKeywords(message: Message) {
|
|||
export default definePlugin({
|
||||
name: "BlockKeywords",
|
||||
description: "Blocks messages containing specific user-defined keywords, as if the user sending them was blocked.",
|
||||
tags: ["Appearance", "Customisation", "Privacy"],
|
||||
authors: [EquicordDevs.catcraft],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import definePlugin from "@utils/types";
|
|||
export default definePlugin({
|
||||
name: "BlockKrisp",
|
||||
description: "Prevent Krisp from loading",
|
||||
tags: ["Privacy", "Utility", "Voice"],
|
||||
authors: [Devs.D3SOX],
|
||||
patches: [
|
||||
// Block loading modules on Desktop
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import definePlugin from "@utils/types";
|
|||
export default definePlugin({
|
||||
name: "BypassPinPrompt",
|
||||
description: "Bypass the pin prompt when using the pin functions",
|
||||
tags: ["Shortcuts"],
|
||||
authors: [Devs.thororen],
|
||||
patches: [
|
||||
...[
|
||||
|
|
|
|||
|
|
@ -157,6 +157,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "BypassStatus",
|
||||
description: "Still get notifications from specific sources when in do not disturb mode. Right-click on users/channels/guilds to set them to bypass do not disturb mode.",
|
||||
tags: ["Activity", "Customisation", "Notifications", "Servers"],
|
||||
authors: [Devs.Inbestigator],
|
||||
dependencies: ["AudioPlayerAPI"],
|
||||
flux: {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ function renderBadge(id: number, title: string) {
|
|||
export default definePlugin({
|
||||
name: "ChannelBadges",
|
||||
description: "Adds badges to channels based on their type",
|
||||
tags: ["Appearance", "Customisation", "Servers"],
|
||||
authors: [EquicordDevs.creations, Devs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ import { ChannelStore, Menu } from "@webpack/common";
|
|||
import { JSX } from "react";
|
||||
|
||||
import ChannelsTabsContainer from "./components/ChannelTabsContainer";
|
||||
import { BasicChannelTabsProps, createTab, handleChannelSwitch, settings } from "./util";
|
||||
import * as ChannelTabsUtils from "./util";
|
||||
import { BasicChannelTabsProps, createTab, handleChannelSwitch, settings } from "./util";
|
||||
|
||||
const contextMenuPatch: NavContextMenuPatchCallback = (children, props: { channel: Channel, messageId?: string; }) => {
|
||||
const { channel, messageId } = props;
|
||||
|
|
@ -47,6 +47,7 @@ const contextMenuPatch: NavContextMenuPatchCallback = (children, props: { channe
|
|||
export default definePlugin({
|
||||
name: "ChannelTabs",
|
||||
description: "Group your commonly visited channels in tabs, like a browser",
|
||||
tags: ["Appearance", "Customisation", "Organisation", "Servers"],
|
||||
authors: [Devs.TheSun, Devs.TheKodeToad, EquicordDevs.keifufu, Devs.Nickyux, EquicordDevs.DiabeloDEV, EquicordDevs.justjxke],
|
||||
dependencies: ["ContextMenuAPI"],
|
||||
contextMenus: {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ export default definePlugin({
|
|||
name: "CleanChannelName",
|
||||
authors: [Devs.AutumnVN],
|
||||
description: "remove all emoji and decor shit from channel names",
|
||||
tags: ["Appearance", "Customisation", "Chat", "Emotes", "Servers"],
|
||||
patches: [
|
||||
{
|
||||
find: "loadAllGuildAndPrivateChannelsFromDisk(){",
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import definePlugin from "@utils/types";
|
|||
export default definePlugin({
|
||||
name: "CleanerChannelGroups",
|
||||
description: "Hides all channels in collapsed categories, even if they have unread messages.",
|
||||
tags: ["Appearance", "Customisation", "Chat", "Organisation", "Servers"],
|
||||
authors: [EquicordDevs.justjxke],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ const WrappedClickableRole = ErrorBoundary.wrap(ClickableRole, { noop: true });
|
|||
export default definePlugin({
|
||||
name: "ClickableRoles",
|
||||
description: "Click on roles in user profiles and the member list to see which members have them.",
|
||||
tags: ["Appearance", "Roles"],
|
||||
authors: [Devs.prism],
|
||||
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -142,6 +142,7 @@ function activeNowView(cards) {
|
|||
export default definePlugin({
|
||||
name: "ClientSideBlock",
|
||||
description: "Allows you to locally hide almost all content from any user",
|
||||
tags: ["Utility"],
|
||||
searchTerms: ["blocked", "block", "hide", "hidden", "noblockedmessages"],
|
||||
authors: [Devs.Samwich, EquicordDevs.KamiRu],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ migratePluginSettings("ClipsEnhancements", "TimelessClips");
|
|||
export default definePlugin({
|
||||
name: "ClipsEnhancements",
|
||||
description: "Add more Clip FPS and duration options, custom clip length, RPC tagging and more",
|
||||
tags: ["Activity", "Media", "Utility"],
|
||||
authors: [Devs.niko, Devs.Joona, EquicordDevs.keircn],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ const ChatButtonsRow = ErrorBoundary.wrap(({ buttons }: { buttons: ReactNode[];
|
|||
export default definePlugin({
|
||||
name: "CollapsibleUI",
|
||||
description: "Native collapsible channel, member, chat button, and user area surfaces.",
|
||||
tags: ["Appearance", "Customisation", "Chat", "Servers"],
|
||||
authors: [EquicordDevs.benjii],
|
||||
searchTerms: ["ui", "sidebar", "layout"],
|
||||
managedStyle,
|
||||
|
|
|
|||
|
|
@ -201,6 +201,7 @@ function hotkeyUsesModifiers() {
|
|||
export default definePlugin({
|
||||
name: "CommandPalette",
|
||||
description: "Quickly run actions through a searchable command palette",
|
||||
tags: ["Appearance", "Customisation", "Commands", "Shortcuts"],
|
||||
authors: [EquicordDevs.justjxke],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import ComponentsTab from "./components/ComponentsTab";
|
|||
export default definePlugin({
|
||||
name: "Components",
|
||||
description: "Adds a new tab to settings to browse Discord components.",
|
||||
tags: ["Appearance", "Customisation", "Console", "Developers", "Organisation"],
|
||||
authors: [Devs.prism],
|
||||
dependencies: ["Settings"],
|
||||
startAt: StartAt.WebpackReady,
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ export default definePlugin({
|
|||
name: "ContentWarning",
|
||||
authors: [EquicordDevs.camila314],
|
||||
description: "Allows you to specify certain trigger words that will be blurred by default. Hovering/Clicking on the blurred content will reveal it.",
|
||||
tags: ["Appearance", "Utility"],
|
||||
settings,
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ const userContextMenuPatch: NavContextMenuPatchCallback = (children, { user }) =
|
|||
export default definePlugin({
|
||||
name: "CopyProfileColors",
|
||||
description: "A plugin to copy people's profile gradient colors to clipboard.",
|
||||
tags: ["Appearance", "Customisation"],
|
||||
authors: [EquicordDevs.Crxa, EquicordDevs.Cortex],
|
||||
contextMenus: {
|
||||
"user-context": userContextMenuPatch,
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ const getMetadataFromApi: (activity: any, userId: string) => Promise<any> = find
|
|||
export default definePlugin({
|
||||
name: "CopyStatusUrls",
|
||||
description: "Copy the users status url when you right-click it",
|
||||
tags: ["Activity", "Utility"],
|
||||
authors: [Devs.sadan],
|
||||
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ export default definePlugin({
|
|||
name: "CopyUserMention",
|
||||
authors: [EquicordDevs.Cortex, Devs.castdrian],
|
||||
description: "Adds a button to copy user's mention on the user context menu, works best with ValidUser.",
|
||||
tags: ["Chat", "Utility"],
|
||||
contextMenus: {
|
||||
"user-context": UserContextMenuPatch
|
||||
}
|
||||
|
|
|
|||
|
|
@ -235,6 +235,7 @@ migratePluginSettings("CursorBuddy", "Oneko", "oneko");
|
|||
export default definePlugin({
|
||||
name: "CursorBuddy",
|
||||
description: "Adds a sprite that follows your cursor.",
|
||||
tags: ["Appearance", "Customisation", "Fun"],
|
||||
authors: [Devs.Ven, Devs.adryd, EquicordDevs.nexpid, EquicordDevs.ZcraftElite],
|
||||
searchTerms: ["Oneko", "FatassHorse", "Pet"],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import { folderProp, int2rgba } from "./util";
|
|||
export default definePlugin({
|
||||
name: "CustomFolderIcons",
|
||||
description: "Customize folder icons with any png",
|
||||
tags: ["Appearance", "Customisation", "Organisation"],
|
||||
authors: [EquicordDevs.sadan],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -393,6 +393,7 @@ export function findOverride(id: string): SoundOverride | null {
|
|||
export default definePlugin({
|
||||
name: "CustomSounds",
|
||||
description: "Customize Discord's sounds.",
|
||||
tags: ["Customisation", "Notifications", "Voice"],
|
||||
authors: [Devs.ScattrdBlade, Devs.TheKodeToad],
|
||||
settings,
|
||||
startAt: StartAt.Init,
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "CustomStatusTimeouts",
|
||||
description: "Adds configurable timeout presets to the status (presence) menu.",
|
||||
tags: ["Activity", "Utility"],
|
||||
authors: [EquicordDevs.Kiri, EquicordDevs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "CustomTimestamps",
|
||||
description: "Custom timestamps on messages and tooltips",
|
||||
tags: ["Appearance", "Customisation"],
|
||||
authors: [Devs.Rini, EquicordDevs.nvhhr, EquicordDevs.Suffocate, Devs.Obsidian],
|
||||
settings,
|
||||
settingsAboutComponent: () => (
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "CustomUserColors",
|
||||
description: "Lets you add a custom color to any user, anywhere! Highly recommend to use with typingTweaks and roleColorEverywhere",
|
||||
tags: ["Appearance", "Customisation", "Chat"],
|
||||
authors: [EquicordDevs.mochienya],
|
||||
contextMenus: {
|
||||
"user-context": userContextMenuPatch,
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@ function SectionSeparator(title: string) {
|
|||
export default definePlugin({
|
||||
name: "Declutter",
|
||||
description: "Cleans up Discord by removing non-essential UI elements like profile effects, shop tabs, boosts, and more.",
|
||||
tags: ["Appearance", "Customisation"],
|
||||
authors: [EquicordDevs.Leon135, Devs.prism, Devs.Kyuuhachi],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import definePlugin from "@utils/types";
|
|||
export default definePlugin({
|
||||
name: "DisableCameras",
|
||||
description: "Disables cameras in a call by default",
|
||||
tags: ["Appearance", "Customisation", "Media", "Privacy"],
|
||||
authors: [Devs.Joona],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import { makeDevBanner, settings } from "./components";
|
|||
export default definePlugin({
|
||||
name: "DiscordDevBanner",
|
||||
description: "Enables the Discord developer banner, in which displays the build-ID",
|
||||
tags: ["Appearance", "Console", "Developers"],
|
||||
authors: [EquicordDevs.KrystalSkull, Devs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ export default definePlugin({
|
|||
name: "DragFavoriteEmotes",
|
||||
authors: [EquicordDevs.PWall],
|
||||
description: "Adds the ability to change the order of your favourite emotes",
|
||||
tags: ["Customisation", "Chat", "Emotes"],
|
||||
patches: [
|
||||
{
|
||||
find: "#{intl::EMOJI_FAVORITE_TOOLTIP}",
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "Dragify",
|
||||
description: "Drop users, channels, or servers into chat to insert mentions or invites.",
|
||||
tags: ["Chat", "Servers", "Utility", "Voice"],
|
||||
authors: [EquicordDevs.justjxke],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -449,6 +449,7 @@ function onToggle(e: KeyboardEvent) {
|
|||
export default definePlugin({
|
||||
name: "ElementHighlighter",
|
||||
description: "Highlight and inspect elements easily.",
|
||||
tags: ["Developers"],
|
||||
authors: [Devs.prism],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "EquibopStreamFixes",
|
||||
description: "Tries to fix stream quality on Equibop by patching Discord's encoder and quality restrictions.",
|
||||
tags: ["Voice"],
|
||||
authors: [EquicordDevs.creations],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -133,6 +133,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "EquicordHelper",
|
||||
description: "Used to provide support, fix discord caused crashes, and other misc features.",
|
||||
tags: ["Appearance", "Commands", "Utility"],
|
||||
authors: [
|
||||
Devs.thororen,
|
||||
EquicordDevs.nyx,
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "Equissant",
|
||||
description: "Crossant every specified amount of clicks :trolley:",
|
||||
tags: ["Fun"],
|
||||
authors: [EquicordDevs.SomeAspy, Devs.thororen],
|
||||
dependencies: ["AudioPlayerAPI"],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -104,6 +104,7 @@ let original: typeof ChannelActions.selectVoiceChannel;
|
|||
export default definePlugin({
|
||||
name: "ExitSounds",
|
||||
description: "Play soundboard sounds when you disconnect from voice.",
|
||||
tags: ["Fun", "Voice"],
|
||||
authors: [Devs.prism],
|
||||
dependencies: ["AudioPlayerAPI"],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ function getUsernames(contacts: ContactsList[], type: number): string[] {
|
|||
export default definePlugin({
|
||||
name: "ExportMessages",
|
||||
description: "Allows you to export any message to a file",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [EquicordDevs.veygax, EquicordDevs.dat_insanity],
|
||||
settings,
|
||||
contextMenus: {
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "FastDeleteChannels",
|
||||
description: "Adds a trash icon to delete channels",
|
||||
tags: ["Servers", "Utility"],
|
||||
authors: [Devs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ export const AttachmentContext = proxyLazyWebpack(() => React.createContext<null
|
|||
export default definePlugin({
|
||||
name: "FavouriteAnything",
|
||||
description: "Favourite any image, video, or file attachment",
|
||||
tags: ["Chat", "Media"],
|
||||
authors: [Devs.nin0dev, EquicordDevs.davri],
|
||||
searchTerms: ["favorite"],
|
||||
managedStyle,
|
||||
|
|
|
|||
|
|
@ -216,6 +216,7 @@ const channelAttachMenuPatch: NavContextMenuPatchCallback = (children, props) =>
|
|||
export default definePlugin({
|
||||
name: "FileUpload",
|
||||
description: "Upload images and videos to file hosting services like Zipline and Nest",
|
||||
tags: ["Media"],
|
||||
authors: [EquicordDevs.creations, EquicordDevs.keircn, Devs.ScattrdBlade],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -89,6 +89,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "FindReply",
|
||||
description: "Jumps to the earliest reply to a message in a channel (lets you follow past conversations more easily).",
|
||||
tags: ["Chat", "Shortcuts"],
|
||||
authors: [Devs.newwares],
|
||||
settings,
|
||||
messagePopoverButton: {
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ export default definePlugin({
|
|||
name: "FixFileExtensions",
|
||||
authors: [Devs.thororen],
|
||||
description: "Fixes file extensions by renaming them to a compatible supported format if possible",
|
||||
tags: ["Media", "Utility"],
|
||||
reporterTestable: ReporterTestable.None,
|
||||
patches: [
|
||||
// Taken from AnonymiseFileNames
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ const UserContextMenuPatch: NavContextMenuPatchCallback = (children, { channel,
|
|||
export default definePlugin({
|
||||
name: "FollowVoiceUser",
|
||||
description: "Follow a friend in voice chat.",
|
||||
tags: ["Voice"],
|
||||
authors: [EquicordDevs.TheArmagan],
|
||||
settings,
|
||||
settingsAboutComponent: () => (
|
||||
|
|
|
|||
|
|
@ -200,6 +200,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "FontLoader",
|
||||
description: "Loads any font from Google Fonts",
|
||||
tags: ["Appearance", "Customisation"],
|
||||
authors: [EquicordDevs.vmohammad],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "ForwardAnywhere",
|
||||
description: "If a forward fails send it as a normal message also allows nsfw forwards",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [Devs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ function generateSearchResults(query) {
|
|||
export default definePlugin({
|
||||
name: "FrequentQuickSwitcher",
|
||||
description: "Rewrites and filters the quick switcher results to be your most frequent channels",
|
||||
tags: ["Shortcuts", "Servers"],
|
||||
authors: [Devs.Samwich],
|
||||
generateSearchResults: generateSearchResults,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import FriendCodesPanel from "./FriendCodesPanel";
|
|||
export default definePlugin({
|
||||
name: "FriendCodes",
|
||||
description: "Generate FriendCodes to easily add friends",
|
||||
tags: ["Friends", "Utility"],
|
||||
authors: [Devs.HypedDomi],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -209,6 +209,7 @@ const userPatch: NavContextMenuPatchCallback = (children, { user }) => {
|
|||
export default definePlugin({
|
||||
name: "FriendTags",
|
||||
description: "Allows you to filter by custom tags in the quick switcher by starting a search with &",
|
||||
tags: ["Shortcuts"],
|
||||
authors: [Devs.Samwich],
|
||||
settings,
|
||||
contextMenus: {
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ function getBadgesToApply() {
|
|||
export default definePlugin({
|
||||
name: "FriendshipRanks",
|
||||
description: "Adds badges showcasing how long you have been friends with a user for",
|
||||
tags: ["Friends"],
|
||||
authors: [Devs.Samwich],
|
||||
start() {
|
||||
getBadgesToApply().forEach(b => Badges.addProfileBadge(b));
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import style from "./style.css?managed";
|
|||
export default definePlugin({
|
||||
name: "FullVCPFP",
|
||||
description: "Makes avatars take up the entire vc tile",
|
||||
tags: ["Appearance", "Voice"],
|
||||
authors: [EquicordDevs.mochienya],
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ function makeContextItem(props) {
|
|||
export default definePlugin({
|
||||
name: "Ghosted",
|
||||
description: "A cute ghost will appear if you don't answer their DMs",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [EquicordDevs.vei, Devs.sadan, EquicordDevs.justjxke, EquicordDevs.iamme],
|
||||
settings,
|
||||
dependencies: ["AudioPlayerAPI", "ServerListAPI"],
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ let oldTrendingCat: Category[] | null = null;
|
|||
export default definePlugin({
|
||||
name: "GifCollections",
|
||||
description: "Allows you to create collections of gifs.",
|
||||
tags: ["Chat", "Emotes"],
|
||||
authors: [EquicordDevs.creations],
|
||||
settings,
|
||||
contextMenus: {
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ export const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "GitHubRepos",
|
||||
description: "Displays a user's public GitHub repositories in their profile",
|
||||
tags: ["Appearance"],
|
||||
authors: [EquicordDevs.talhakf, EquicordDevs.Panniku, EquicordDevs.benjii],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ migratePluginSetting("GlobalBadges", "showRaincord", "showRa1ncord");
|
|||
export default definePlugin({
|
||||
name: "GlobalBadges",
|
||||
description: "Adds global badges from other client mods",
|
||||
tags: ["Appearance"],
|
||||
authors: [Devs.HypedDomi, EquicordDevs.Wolfie, Devs.thororen],
|
||||
settings,
|
||||
settingsAboutComponent: () => (
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "GoogleThat",
|
||||
description: "Adds a command to send a internet search link",
|
||||
tags: ["Commands", "Utility"],
|
||||
authors: [Devs.Samwich, EquicordDevs.KrystalSkull],
|
||||
searchTerms: ["search", "google", "query", "duckduckgo", "command"],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ async function zipGuildAssets(guild: Guild, type: "emojis" | "stickers") {
|
|||
export default definePlugin({
|
||||
name: "GuildPickerDumper",
|
||||
description: "Context menu to dump and download a server's emojis and stickers.",
|
||||
tags: ["Emotes", "Servers", "Utility"],
|
||||
authors: [EquicordDevs.Cortex, Devs.Samwich, EquicordDevs.Synth, Devs.thororen],
|
||||
contextMenus: {
|
||||
"guild-context": Patch,
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ function ButtonsInnerComponent({ buttons }: { buttons: ReactNode; }) {
|
|||
export default definePlugin({
|
||||
name: "HideChatButtons",
|
||||
description: "Able to hide the chat buttons",
|
||||
tags: ["Chat", "Utility"],
|
||||
settings: settings,
|
||||
authors: [EquicordDevs.iamme],
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "HideMessages",
|
||||
description: "A plugin to temporarily hide messages until you restart.",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [EquicordDevs.yash],
|
||||
contextMenus: {
|
||||
"message": messageCtxPatch
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ export function removeIndicator() {
|
|||
export default definePlugin({
|
||||
name: "HideServers",
|
||||
description: "Allows you to hide servers from the guild list and quick switcher by right clicking them",
|
||||
tags: ["Servers", "Utility"],
|
||||
authors: [EquicordDevs.bep],
|
||||
searchTerms: ["guild", "server", "hide", "folder"],
|
||||
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ function ToolBarHeader() {
|
|||
export default definePlugin({
|
||||
name: "HolyNotes",
|
||||
description: "Save messages as notes to revisit later",
|
||||
tags: ["Chat", "Organisation"],
|
||||
authors: [EquicordDevs.Wolfie],
|
||||
|
||||
toolboxActions: {
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ const PrivateChannelSortStore = findStoreLazy("PrivateChannelSortStore") as { ge
|
|||
export default definePlugin({
|
||||
name: "HomeTyping",
|
||||
description: "Changes the home button to a typing indicator if someone in your dms is typing",
|
||||
tags: ["Chat"],
|
||||
authors: [Devs.Samwich],
|
||||
TypingIcon() {
|
||||
return <ThreeDots className={cl("dots")} dotRadius={3} themed={true} />;
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "HopOn",
|
||||
description: "Hop on! Opens a configurable URL when a message matches a custom regex in the current channel.",
|
||||
tags: ["Fun"],
|
||||
authors: [Devs.ImLvna],
|
||||
settings,
|
||||
flux: {
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ function getEmojiIdThatShouldBeUsed(guildId: string) {
|
|||
export default definePlugin({
|
||||
name: "Husk",
|
||||
description: "Adds Husk button (check settings to change used emoji)",
|
||||
tags: ["Emotes", "Fun"],
|
||||
authors: [Devs.nin0dev],
|
||||
settings,
|
||||
messagePopoverButton: {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import DataUI from "./components/ui";
|
|||
export default definePlugin({
|
||||
name: "IRememberYou",
|
||||
description: "Locally saves everyone you've been communicating with (including servers), in case of lose",
|
||||
tags: ["Chat", "Servers"],
|
||||
authors: [EquicordDevs.zoodogood, EquicordDevs.keircn],
|
||||
dependencies: ["MessageEventsAPI"],
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import { SettingsAbout } from "./components/Modals";
|
|||
export default definePlugin({
|
||||
name: "IconViewer",
|
||||
description: "Adds a new tab to settings to preview all icons.",
|
||||
tags: ["Developers"],
|
||||
authors: [EquicordDevs.iamme],
|
||||
dependencies: ["Settings"],
|
||||
startAt: StartAt.WebpackReady,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ function onActivity() {
|
|||
export default definePlugin({
|
||||
name: "IdleAutoRestart",
|
||||
description: "Automatically restarts the client after being idle for a configurable amount of time, but avoids restarting while you are in VC.",
|
||||
tags: ["Utility"],
|
||||
authors: [EquicordDevs.SteelTech],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "IgnoreCalls",
|
||||
description: "Allows you to ignore calls from specific users or dm groups.",
|
||||
tags: ["Voice"],
|
||||
authors: [EquicordDevs.TheArmagan, Devs.thororen],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ function getMembersInRole(roleId: string, guildId: string) {
|
|||
export default definePlugin({
|
||||
name: "InRole",
|
||||
description: "Know who is in a role with the role context menu or /inrole command (read plugin info!)",
|
||||
tags: ["Commands", "Roles"],
|
||||
authors: [Devs.nin0dev],
|
||||
dependencies: ["UserSettingsAPI"],
|
||||
start() {
|
||||
|
|
|
|||
|
|
@ -146,6 +146,7 @@ function disabledIcon() {
|
|||
export default definePlugin({
|
||||
name: "Ingtoninator",
|
||||
description: "Suffixes 'ington' to a random word in your message",
|
||||
tags: ["Fun"],
|
||||
authors: [EquicordDevs.zyqunix, EquicordDevs.BioTomateDE],
|
||||
settings,
|
||||
chatBarButton: {
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ async function autoStartStream(instant = true) {
|
|||
export default definePlugin({
|
||||
name: "InstantScreenshare",
|
||||
description: "Instantly screenshare when joining a voice channel with support for desktop sources, windows, and video input devices (cameras, capture cards)",
|
||||
tags: ["Media", "Voice"],
|
||||
authors: [Devs.HAHALOSAH, Devs.thororen, EquicordDevs.mart],
|
||||
dependencies: ["EquicordToolbox"],
|
||||
searchTerms: ["ScreenshareKeybind"],
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ export async function buildEmbed(message: any, revealed: string): Promise<void>
|
|||
export default definePlugin({
|
||||
name: "InvisibleChat",
|
||||
description: "Encrypt your Messages in a non-suspicious way!",
|
||||
tags: ["Chat"],
|
||||
authors: [Devs.SammCheese],
|
||||
dependencies: ["MessageUpdaterAPI"],
|
||||
reporterTestable: ReporterTestable.Patches,
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "InviteDefaults",
|
||||
description: "Allows you to edit the default values when creating server invites.",
|
||||
tags: ["Servers"],
|
||||
authors: [EquicordDevs.VillainsRule],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ const MessageMenuPatch: NavContextMenuPatchCallback = (children, { message }: {
|
|||
export default definePlugin({
|
||||
name: "JumpTo",
|
||||
description: "Adds context menu options to jump to the start or bottom of a channel/DM.",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [Devs.Samwich, Devs.thororen],
|
||||
contextMenus: {
|
||||
"channel-context": ChannelMenuPatch,
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ function getJumpscareRoot(): Root {
|
|||
export default definePlugin({
|
||||
name: "Jumpscare",
|
||||
description: "Adds a configurable chance of jumpscaring you whenever you open a channel. Inspired by Geometry Dash Mega Hack",
|
||||
tags: ["Fun"],
|
||||
authors: [Devs.surgedevs],
|
||||
dependencies: ["AudioPlayerAPI"],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@ export const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "KeyboardNavigation",
|
||||
description: "Allows you to navigate the UI with a keyboard.",
|
||||
tags: ["Accessibility", "Shortcuts"],
|
||||
authors: [Devs.Ethan],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "KeyboardSounds",
|
||||
description: "Adds OperaGX or osu! sound effects when typing on your keyboard.",
|
||||
tags: ["Fun"],
|
||||
authors: [Devs.HypedDomi, EquicordDevs.Etorix],
|
||||
dependencies: ["AudioPlayerAPI"],
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -318,6 +318,7 @@ export default definePlugin({
|
|||
name: "KeywordNotify",
|
||||
authors: [EquicordDevs.camila314, EquicordDevs.x3rt],
|
||||
description: "Sends a notification if a given message matches certain keywords or regexes",
|
||||
tags: ["Chat", "Notifications"],
|
||||
settings,
|
||||
patches: [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ export function LastActiveIcon() {
|
|||
export default definePlugin({
|
||||
name: "LastActive",
|
||||
description: "A plugin to jump to last active message from yourself or another user in a channel/server.",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [EquicordDevs.Crxa],
|
||||
contextMenus: {
|
||||
"channel-context": ChannelContextMenuPatch,
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "LoginWithQR",
|
||||
description: "Allows you to login to another device by scanning a login QR code, just like on mobile!",
|
||||
tags: ["Utility"],
|
||||
authors: [EquicordDevs.nexpid],
|
||||
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ type MediaRef = RefObject<HTMLMediaElement> | undefined;
|
|||
export default definePlugin({
|
||||
name: "MediaPlaybackSpeed",
|
||||
description: "Allows changing the (default) playback speed of media embeds",
|
||||
tags: ["Chat", "Media"],
|
||||
authors: [Devs.D3SOX],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -66,6 +66,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "MessageBurst",
|
||||
description: "Merges messages sent within a time period with your previous sent message if no one else sends a message before you.",
|
||||
tags: ["Chat"],
|
||||
authors: [EquicordDevs.port22exposed],
|
||||
settings,
|
||||
onBeforeMessageSend(channelId, message) {
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ export default definePlugin({
|
|||
authors: [EquicordDevs.Hen],
|
||||
name: "MessageColors",
|
||||
description: "Displays color codes like #FF0042 inside of messages",
|
||||
tags: ["Appearance", "Chat"],
|
||||
settings,
|
||||
patches: [
|
||||
// Create a new markdown rule, so it parses just like any other features
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ function handleMessageLoad(data: any) {
|
|||
export default definePlugin({
|
||||
name: "MessageFetchTimer",
|
||||
description: "Shows how long it took to fetch messages for the current channel",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [EquicordDevs.GroupXyz],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ const settings = definePluginSettings({
|
|||
export default definePlugin({
|
||||
name: "MessageLinkTooltip",
|
||||
description: "Adds a tooltip with a message preview when hovering over message links, replies, and forwarded messages.",
|
||||
tags: ["Appearance", "Chat"],
|
||||
authors: [Devs.Kyuuhachi],
|
||||
|
||||
settings,
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@ import { FluxDispatcher, MessageStore, SelectedChannelStore, UserStore } from "@
|
|||
import { LogsIcon, OpenLogsButton } from "./components/LogsButton";
|
||||
import { openLogModal } from "./components/LogsModal";
|
||||
import * as idb from "./db";
|
||||
import { addMessage } from "./LoggedMessageManager";
|
||||
import * as LoggedMessageManager from "./LoggedMessageManager";
|
||||
import { addMessage } from "./LoggedMessageManager";
|
||||
import { settings } from "./settings";
|
||||
import { FetchMessagesResponse, LoadMessagePayload, LoggedMessage, LoggedMessageJSON, MessageCreatePayload, MessageDeleteBulkPayload, MessageDeletePayload, MessageUpdatePayload } from "./types";
|
||||
import { cleanUpCachedMessage, cleanupUserObject, getNative, isGhostPinged, mapTimestamp, messageJsonToMessageClass, reAddDeletedMessages } from "./utils";
|
||||
|
|
@ -258,6 +258,7 @@ export default definePlugin({
|
|||
name: "MessageLoggerEnhanced",
|
||||
authors: [Devs.Aria, EquicordDevs.keircn],
|
||||
description: "Improves MessageLogger with edited message history, ghost ping detection and more",
|
||||
tags: ["Chat", "Servers"],
|
||||
dependencies: ["MessageLogger"],
|
||||
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ export default definePlugin({
|
|||
authors: [EquicordDevs.cassie, EquicordDevs.mochienya],
|
||||
name: "MessageNotifier",
|
||||
description: "Get toasts for when chosen users send a message",
|
||||
tags: ["Chat", "Notifications"],
|
||||
settings,
|
||||
flux: {
|
||||
MESSAGE_CREATE({ message, channelId, guildId }: MessageCreatePayload) {
|
||||
|
|
|
|||
|
|
@ -239,6 +239,7 @@ function shouldShowActivity(lastMessage: Message | undefined, hasActivity: boole
|
|||
export default definePlugin({
|
||||
name: "MessagePeek",
|
||||
description: "Shows the last message preview and timestamp in the Direct Messages list.",
|
||||
tags: ["Appearance", "Chat"],
|
||||
authors: [Devs.prism, EquicordDevs.justjxke],
|
||||
settings,
|
||||
patches: [
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ function triggerReRender(message: MessageWithContent) {
|
|||
export default definePlugin({
|
||||
name: "MessageTranslate",
|
||||
description: "Auto translate messages to your language with caching, per-channel toggles, and more options.",
|
||||
tags: ["Chat", "Utility"],
|
||||
authors: [EquicordDevs.creations],
|
||||
settings,
|
||||
|
||||
|
|
|
|||
|
|
@ -115,6 +115,7 @@ const MicLoopbackUserAreaButton: UserAreaButtonFactory = props => <MicLoopbackBu
|
|||
export default definePlugin({
|
||||
name: "MicLoopbackTester",
|
||||
description: "Adds mic loopback test icon to the user panel",
|
||||
tags: ["Utility", "Voice"],
|
||||
authors: [EquicordDevs.benjii],
|
||||
dependencies: ["UserSettingsAPI", "UserAreaAPI"],
|
||||
userAreaButton: {
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue