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: [
|
||||
|
@ -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)
|
||||
|
|
|
@ -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