Better authors field (#18)
This commit is contained in:
		
							parent
							
								
									3e64054283
								
							
						
					
					
						commit
						ef353f1d66
					
				
					 22 changed files with 71 additions and 26 deletions
				
			
		|  | @ -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"; | ||||
|  |  | |||
|  | @ -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: { | ||||
|  |  | |||
|  | @ -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", | ||||
|  |  | |||
|  | @ -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: [ | ||||
|         { | ||||
|  |  | |||
|  | @ -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", | ||||
|  |  | |||
|  | @ -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: [ | ||||
|  |  | |||
|  | @ -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: [ | ||||
|  |  | |||
|  | @ -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", | ||||
|  |  | |||
|  | @ -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: [{ | ||||
|  |  | |||
|  | @ -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"', | ||||
|  |  | |||
|  | @ -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() { | ||||
|  |  | |||
|  | @ -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: [ | ||||
|  |  | |||
|  | @ -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: [ | ||||
|         { | ||||
|  |  | |||
|  | @ -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", | ||||
|  |  | |||
|  | @ -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:", | ||||
|  |  | |||
|  | @ -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:", | ||||
|  |  | |||
|  | @ -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) { | ||||
|  |  | |||
|  | @ -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({ | ||||
|  |  | |||
|  | @ -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 | ||||
|     } | ||||
| }); | ||||
|  |  | |||
|  | @ -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">[]; | ||||
|  |  | |||
|  | @ -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[]; | ||||
| 
 | ||||
|  | @ -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); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue