aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Vencord.ts2
-rw-r--r--src/plugins/STFU.ts3
-rw-r--r--src/plugins/apiMessageEvents.ts3
-rw-r--r--src/plugins/apiNotices.ts3
-rw-r--r--src/plugins/banger.ts5
-rw-r--r--src/plugins/betterGifAltText.ts5
-rw-r--r--src/plugins/clickableRoleDot.ts3
-rw-r--r--src/plugins/experiments.ts3
-rw-r--r--src/plugins/folderSvgIcon.ts5
-rw-r--r--src/plugins/ify.ts3
-rw-r--r--src/plugins/messageActions.ts3
-rw-r--r--src/plugins/nitroBypass.ts3
-rw-r--r--src/plugins/noTrack.ts3
-rw-r--r--src/plugins/settings.ts3
-rw-r--r--src/plugins/silentTyping.ts3
-rw-r--r--src/plugins/unindent.ts3
-rw-r--r--src/plugins/viewIcons.tsx3
-rw-r--r--src/utils/IpcEvents.ts2
-rw-r--r--src/utils/constants.ts20
-rw-r--r--src/utils/types.ts7
-rw-r--r--src/webpack/patchWebpack.ts (renamed from src/utils/patchWebpack.ts)6
-rw-r--r--src/webpack/webpack.ts6
22 files changed, 71 insertions, 26 deletions
diff --git a/src/Vencord.ts b/src/Vencord.ts
index cb06182..2798e70 100644
--- a/src/Vencord.ts
+++ b/src/Vencord.ts
@@ -7,7 +7,7 @@ import { startAllPlugins } from "./plugins";
export { Settings };
-import "./utils/patchWebpack";
+import "./webpack/patchWebpack";
import "./utils/quickCss";
import { checkForUpdates, UpdateLogger } from './utils/updater';
import { onceReady } from "./webpack";
diff --git a/src/plugins/STFU.ts b/src/plugins/STFU.ts
index afa29f5..96325ff 100644
--- a/src/plugins/STFU.ts
+++ b/src/plugins/STFU.ts
@@ -1,9 +1,10 @@
import definePlugin from "../utils/types";
+import { Devs } from '../utils/constants';
export default definePlugin({
name: "STFU",
description: "Disables the 'HOLD UP' banner in the console",
- author: "Vendicated",
+ authors: [Devs.Ven],
patches: [{
find: "setDevtoolsCallbacks",
replacement: {
diff --git a/src/plugins/apiMessageEvents.ts b/src/plugins/apiMessageEvents.ts
index 98144e2..154e601 100644
--- a/src/plugins/apiMessageEvents.ts
+++ b/src/plugins/apiMessageEvents.ts
@@ -1,9 +1,10 @@
+import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
export default definePlugin({
name: "MessageEventsAPI",
description: "Api required by anything using message events.",
- author: "ArjixWasTaken",
+ authors: [Devs.Arjix],
patches: [
{
find: "sendMessage:function",
diff --git a/src/plugins/apiNotices.ts b/src/plugins/apiNotices.ts
index d58ac4b..1b4f115 100644
--- a/src/plugins/apiNotices.ts
+++ b/src/plugins/apiNotices.ts
@@ -1,9 +1,10 @@
+import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
export default definePlugin({
name: "ApiNotices",
description: "Fixes notices being automatically dismissed",
- author: "Vendicated",
+ authors: [Devs.Ven],
required: true,
patches: [
{
diff --git a/src/plugins/banger.ts b/src/plugins/banger.ts
index d87ef99..2ca2921 100644
--- a/src/plugins/banger.ts
+++ b/src/plugins/banger.ts
@@ -3,7 +3,10 @@ import definePlugin from "../utils/types";
export default definePlugin({
name: "BANger",
description: "Replaces the GIF in the ban dialogue with a custom one.",
- author: "Xinto",
+ authors: [{
+ name: "Xinto",
+ id: 423915768191647755n
+ }],
patches: [
{
find: "BanConfirm",
diff --git a/src/plugins/betterGifAltText.ts b/src/plugins/betterGifAltText.ts
index 4754042..08fa07b 100644
--- a/src/plugins/betterGifAltText.ts
+++ b/src/plugins/betterGifAltText.ts
@@ -1,8 +1,9 @@
+import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
export default definePlugin({
name: "BetterGifAltText",
- author: "Vendicated",
+ authors: [Devs.Ven],
description:
"Change GIF alt text from simply being 'GIF' to containing the gif tags / filename",
patches: [
@@ -30,7 +31,7 @@ export default definePlugin({
let url: string = props.original || props.src;
try {
url = decodeURI(url);
- } catch {}
+ } catch { }
let name = url
.slice(url.lastIndexOf("/") + 1)
diff --git a/src/plugins/clickableRoleDot.ts b/src/plugins/clickableRoleDot.ts
index 800a742..3fc4bef 100644
--- a/src/plugins/clickableRoleDot.ts
+++ b/src/plugins/clickableRoleDot.ts
@@ -1,9 +1,10 @@
+import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
import { Toasts } from '../webpack/common';
export default definePlugin({
name: "ClickableRoleDot",
- author: "Vendicated",
+ authors: [Devs.Ven],
description:
"Makes RoleDots (Accessibility Feature) copy colour to clipboard on click",
patches: [
diff --git a/src/plugins/experiments.ts b/src/plugins/experiments.ts
index 3406eec..37a59c7 100644
--- a/src/plugins/experiments.ts
+++ b/src/plugins/experiments.ts
@@ -1,8 +1,9 @@
+import { Devs } from "../utils/constants";
import definePlugin from '../utils/types';
export default definePlugin({
name: "Experiments",
- author: "Vendicated, Megumin",
+ authors: [Devs.Ven, Devs.Megu],
description: "Enable Experiments",
patches: [{
find: "Object.defineProperties(this,{isDeveloper",
diff --git a/src/plugins/folderSvgIcon.ts b/src/plugins/folderSvgIcon.ts
index 1f91cab..208efaa 100644
--- a/src/plugins/folderSvgIcon.ts
+++ b/src/plugins/folderSvgIcon.ts
@@ -3,7 +3,10 @@ import definePlugin from "../utils/types";
export default definePlugin({
name: "Folder SVG Icon",
description: "Doesn't show the small guild icons in folders",
- author: "botato",
+ authors: [{
+ name: "botato",
+ id: 440990343899643943n
+ }],
patches: [{
find: "().expandedFolderIconWrapper",
replacement: [{
diff --git a/src/plugins/ify.ts b/src/plugins/ify.ts
index e0d5481..40a9708 100644
--- a/src/plugins/ify.ts
+++ b/src/plugins/ify.ts
@@ -1,9 +1,10 @@
+import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
export default definePlugin({
name: "Ify",
description: "Disabes Spotify auto-pausing and premium checks",
- author: "Cynosphere",
+ authors: [Devs.Cyn],
patches: [
{
find: '.displayName="SpotifyStore"',
diff --git a/src/plugins/messageActions.ts b/src/plugins/messageActions.ts
index 569d3a9..4df3853 100644
--- a/src/plugins/messageActions.ts
+++ b/src/plugins/messageActions.ts
@@ -1,4 +1,5 @@
import { addClickListener, removeClickListener } from '../api/MessageEvents';
+import { Devs } from "../utils/constants";
import definePlugin from "../utils/types";
import { find, findByProps } from "../webpack";
import { UserStore } from "../webpack/common";
@@ -10,7 +11,7 @@ const keyup = (e: KeyboardEvent) => e.key === "Backspace" && (isDeletePressed =
export default definePlugin({
name: "MessageQuickActions",
description: "Quick Delete, Quick edit",
- author: "Vendicated",
+ authors: [Devs.Ven],
dependencies: ["MessageEventsAPI"],
start() {
diff --git a/src/plugins/nitroBypass.ts b/src/plugins/nitroBypass.ts
index d5c4d22..ebed095 100644
--- a/src/plugins/nitroBypass.ts
+++ b/src/plugins/nitroBypass.ts
@@ -1,10 +1,11 @@
import { addPreSendListener, addPreEditListener, SendListener, removePreSendListener, removePreEditListener } from '../api/MessageEvents';
import { findByProps } from "../webpack";
import definePlugin from "../utils/types";
+import { Devs } from '../utils/constants';
export default definePlugin({
name: "Nitro Bypass",
- author: "ArjixWasTaken",
+ authors: [Devs.Arjix],
description: "Allows you to stream in nitro quality and send fake emojis.",
dependencies: ["MessageEventsAPI"],
patches: [
diff --git a/src/plugins/noTrack.ts b/src/plugins/noTrack.ts
index 49f542e..13b52f8 100644
--- a/src/plugins/noTrack.ts
+++ b/src/plugins/noTrack.ts
@@ -1,9 +1,10 @@
import definePlugin from "../utils/types";
+import { Devs } from '../utils/constants';
export default definePlugin({
name: "NoTrack",
description: "Disable Discord's tracking and crash reporting",
- author: "Cynosphere",
+ authors: [Devs.Cyn],
required: true,
patches: [
{
diff --git a/src/plugins/settings.ts b/src/plugins/settings.ts
index 1281f4e..afefa91 100644
--- a/src/plugins/settings.ts
+++ b/src/plugins/settings.ts
@@ -1,10 +1,11 @@
import definePlugin from "../utils/types";
import gitHash from "git-hash";
+import { Devs } from '../utils/constants';
export default definePlugin({
name: "Settings",
description: "Adds Settings UI and debug info",
- author: "Vendicated",
+ authors: [Devs.Ven],
required: true,
patches: [{
find: "().versionHash",
diff --git a/src/plugins/silentTyping.ts b/src/plugins/silentTyping.ts
index df233a4..56ef30d 100644
--- a/src/plugins/silentTyping.ts
+++ b/src/plugins/silentTyping.ts
@@ -1,8 +1,9 @@
import definePlugin from '../utils/types';
+import { Devs } from '../utils/constants';
export default definePlugin({
name: "SilentTyping",
- author: "Vendicated",
+ authors: [Devs.Ven],
description: "Hide that you are typing",
patches: [{
find: "startTyping:",
diff --git a/src/plugins/unindent.ts b/src/plugins/unindent.ts
index 3cb34f3..d97de11 100644
--- a/src/plugins/unindent.ts
+++ b/src/plugins/unindent.ts
@@ -1,10 +1,11 @@
import definePlugin from "../utils/types";
import { addPreSendListener, addPreEditListener, MessageObject, removePreSendListener, removePreEditListener } from '../api/MessageEvents';
+import { Devs } from '../utils/constants';
export default definePlugin({
name: "Unindent",
description: "Trims leading indentation from codeblocks",
- author: "Vendicated",
+ authors: [Devs.Ven],
patches: [
{
find: "inQuote:",
diff --git a/src/plugins/viewIcons.tsx b/src/plugins/viewIcons.tsx
index f41ae85..2ac0ab1 100644
--- a/src/plugins/viewIcons.tsx
+++ b/src/plugins/viewIcons.tsx
@@ -1,10 +1,11 @@
+import { Devs } from "../utils/constants";
import IpcEvents from "../utils/IpcEvents";
import definePlugin from '../utils/types';
const OPEN_URL = "Vencord.Plugins.plugins.ViewIcons.openImage(";
export default definePlugin({
name: "ViewIcons",
- author: "Vendicated",
+ authors: [Devs.Ven],
description: "Makes Avatars/Banners in user profiles clickable, and adds Guild Context Menu Entries to View Banner/Icon.",
openImage(url: string) {
diff --git a/src/utils/IpcEvents.ts b/src/utils/IpcEvents.ts
index b0a53f2..24e52b9 100644
--- a/src/utils/IpcEvents.ts
+++ b/src/utils/IpcEvents.ts
@@ -8,7 +8,7 @@ function strEnum<T extends Record<string, string>>(obj: T): T {
o[key] = obj[key] as any;
o[obj[key]] = key as any;
};
- return o;
+ return Object.freeze(o);
}
export default strEnum({
diff --git a/src/utils/constants.ts b/src/utils/constants.ts
index 3d60e29..57cd9b7 100644
--- a/src/utils/constants.ts
+++ b/src/utils/constants.ts
@@ -1,2 +1,22 @@
export const WEBPACK_CHUNK = "webpackChunkdiscord_app";
export const REACT_GLOBAL = "Vencord.Webpack.Common.React";
+
+// Add yourself here if you made more than one plugin
+export const Devs = Object.freeze({
+ Ven: {
+ name: "Vendicated",
+ id: 343383572805058560n
+ },
+ Arjix: {
+ name: "ArjixWasTaken",
+ id: 674710789138939916n
+ },
+ Cyn: {
+ name: "Cynosphere",
+ id: 150745989836308480n
+ },
+ Megu: {
+ name: "Megumin",
+ id: 545581357812678656n
+ }
+});
diff --git a/src/utils/types.ts b/src/utils/types.ts
index 05441e8..a6b79c5 100644
--- a/src/utils/types.ts
+++ b/src/utils/types.ts
@@ -14,6 +14,11 @@ export interface Patch {
replacement: PatchReplacement | PatchReplacement[];
}
+export interface PluginAuthor {
+ name: string;
+ id: BigInt;
+}
+
export interface Plugin extends PluginDef {
patches?: Patch[];
started: boolean;
@@ -22,7 +27,7 @@ export interface Plugin extends PluginDef {
interface PluginDef {
name: string;
description: string;
- author: string;
+ authors: PluginAuthor[];
start?(): void;
stop?(): void;
patches?: Omit<Patch, "plugin">[];
diff --git a/src/utils/patchWebpack.ts b/src/webpack/patchWebpack.ts
index 0508968..469b930 100644
--- a/src/utils/patchWebpack.ts
+++ b/src/webpack/patchWebpack.ts
@@ -1,6 +1,6 @@
-import { WEBPACK_CHUNK } from './constants';
-import Logger from "./logger";
-import { _initWebpack } from "../webpack";
+import { WEBPACK_CHUNK } from '../utils/constants';
+import Logger from "../utils/logger";
+import { _initWebpack } from ".";
let webpackChunk: any[];
diff --git a/src/webpack/webpack.ts b/src/webpack/webpack.ts
index ea5a7e3..9be576a 100644
--- a/src/webpack/webpack.ts
+++ b/src/webpack/webpack.ts
@@ -43,7 +43,7 @@ export function _initWebpack(instance: typeof window.webpackChunkdiscord_app) {
export function find(filter: FilterFn, getDefault = true) {
if (typeof filter !== "function")
- throw new Error("Invalid filter. Expected a function got", filter);
+ throw new Error("Invalid filter. Expected a function got " + typeof filter);
for (const key in cache) {
const mod = cache[key];
@@ -70,7 +70,7 @@ export function find(filter: FilterFn, getDefault = true) {
// TODO fix
export function findAll(filter: FilterFn, getDefault = true) {
- if (typeof filter !== "function") throw new Error("Invalid filter. Expected a function got", filter);
+ if (typeof filter !== "function") throw new Error("Invalid filter. Expected a function got " + typeof filter);
const ret = [] as any[];
for (const key in cache) {
@@ -108,7 +108,7 @@ export function findByDisplayName(deezNuts: string) {
export function waitFor(filter: string | string[] | FilterFn, callback: CallbackFn) {
if (typeof filter === "string") filter = filters.byProps([filter]);
else if (Array.isArray(filter)) filter = filters.byProps(filter);
- else if (typeof filter !== "function") throw new Error("filter must be a string, string[] or function, got", filter);
+ else if (typeof filter !== "function") throw new Error("filter must be a string, string[] or function, got " + typeof filter);
const existing = find(filter!);
if (existing) return void callback(existing);