holy shit is that a command handler

master
Drake 2 years ago
parent 7f546d9f74
commit 64e5a9f113

2
dist/build.js vendored

@ -1 +1 @@
(()=>{var k=Object.create;var a=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var T=e=>a(e,"__esModule",{value:!0});var g=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var x=(e,n,o,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of B(n))!P.call(e,t)&&(o||t!=="default")&&a(e,t,{get:()=>n[t],enumerable:!(i=A(n,t))||i.enumerable});return e},D=(e,n)=>x(T(a(e!=null?k(N(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var y=g((Y,_)=>{function l(e,n,o){let i=Symbol(),t=o.before===void 0?(...d)=>d:o.before,h=o.instead===void 0?(d,...u)=>d(...u):o.instead,S=o.after===void 0?(d,u)=>u:o.after,b={apply:(d,u,[s,c])=>(t.apply(s,c),res=h(d.bind(s),c),S.apply(s,c.concat([res])))},I=new Proxy(n[e],b),m=n[e];n[e]=function(){return I(this,[arguments])};let p=()=>{n[e]=m};return n[i]={name:e,orig:m,unpatch:p},p}function L(e,n,o){return l(e,n,{before:o})}function O(e,n,o){return l(e,n,{instead:o})}function M(e,n,o){return l(e,n,{after:o})}_.exports={monkeyPatch:l,before:L,instead:O,after:M}});var w=D(y());function U(){let e;return webpackChunkdiscord_app.push([[Math.random().toString(36)],{},n=>{e=n}]),e.c}function C(e,n){let o=[];for(let i in n){let t=n[i].exports;t&&(t.default&&t.__esModule&&e(t.default)?o.push(t.default):e(t)&&o.push(t))}return o}var r={modules:U(),filter:C,find:e=>r.filter(e,r.modules)[0],findAll:e=>r.filter(e,r.modules),findByProps:(...e)=>r.find(n=>e.every(o=>n[o]!==void 0)),findByPropsAll:(...e)=>r.findAll(n=>e.every(o=>n[o]!==void 0))},f=r;var v={React:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement"),ReactDOM:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate")},E=v;async function F(e){e.demon={patcher:w.default,webpack:f,common:E}}var R=F;window.demon&&delete window.demon;R(window);})();
(()=>{var B=Object.create;var c=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var N=e=>c(e,"__esModule",{value:!0});var T=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var D=(e,n,o,d)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of P(n))!M.call(e,t)&&(o||t!=="default")&&c(e,t,{get:()=>n[t],enumerable:!(d=I(n,t))||d.enumerable});return e},L=(e,n)=>D(N(c(e!=null?B(A(e)):{},"default",!n&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var h=T((z,w)=>{function u(e,n,o){let d=Symbol(),t=o.before,m=o.instead,l=o.after,S={apply:(y,K,[i,s])=>(t!==void 0&&t.apply(i,s),res=o.instead!==void 0?m.apply(i,[y.bind(i),...s]):y.apply(i,s),l===void 0?res:l.apply(i,[res].concat(s)))},b=new Proxy(n[e],S),p=n[e];n[e]=function(){return b(this,arguments)};let _=()=>{n[e]=p};return n[d]={name:e,orig:p,unpatch:_},_}function O(e,n,o){return u(e,n,{before:o})}function x(e,n,o){return u(e,n,{instead:o})}function U(e,n,o){return u(e,n,{after:o})}w.exports={monkeyPatch:u,before:O,instead:x,after:U}});var R=L(h());function C(){let e;return webpackChunkdiscord_app.push([[Math.random().toString(36)],{},n=>{e=n}]),e.c}function v(e,n){let o=[];for(let d in n){let t=n[d].exports;t&&(t.default&&t.__esModule&&e(t.default)?o.push(t.default):e(t)&&o.push(t))}return o}var r={modules:C(),filter:v,find:e=>r.filter(e,r.modules)[0],findAll:e=>r.filter(e,r.modules),findByProps:(...e)=>r.find(n=>e.every(o=>n[o]!==void 0)),findByPropsAll:(...e)=>r.findAll(n=>e.every(o=>n[o]!==void 0))},f=r;var F={React:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","createElement"),ReactDOM:f.findByProps("__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","hydrate")},E=F;function W(e){e.demon.__commands={},demon.patcher.after("sendMessage",demon.webpack.findByProps("sendMessage"),(n,o)=>{let d;for(let t of Reflect.ownKeys(e.demon.__commands)){let m=e.demon.__commands[t];if(o[1].content.split(" ")[0]===">"+m.name){d=m.callback(o);break}}return d!==void 0&&(o[1].content=d),o})}function Y(e){let n=Symbol(e.name);return window.demon.__commands[n]=e,()=>{delete window.demon.__commands[n]}}var a={add:Y,init:W};async function g(e){e.demon={patcher:R.default,webpack:f,common:E,commands:{add:a.add}},a.init(e)}var k=g;window.demon&&delete window.demon;k(window);})();

@ -0,0 +1,34 @@
function init(obj) {
obj.demon.__commands = {}
demon.patcher.after("sendMessage", demon.webpack.findByProps("sendMessage"),
(otherRes, args) => {
let res;
for (const key of Reflect.ownKeys(obj.demon.__commands)) {
let command = obj.demon.__commands[key]
if (args[1].content.split(" ")[0] === ">" + command.name) {
res = command.callback(args)
break
}
}
if (res !== undefined) args[1].content = res
return args
}
)
}
// command = {
// name: "name",
// callback: (args)=>"Hello, world!"
// }
function add(command) {
let sym = Symbol(command.name);
window.demon.__commands[sym] = command;
return () => {
delete window.demon.__commands[sym];
}
}
export default {
add: add,
init: init
}

@ -1,13 +1,18 @@
import demonpatcher from "demonpatcher"
import webpack from "./api/webpack.js"
import common from "./api/common.js"
import commands from "./api/commands.js"
async function init(obj) {
obj.demon = {
patcher: demonpatcher,
webpack,
common
common,
commands: {
add: commands.add
}
}
commands.init(obj)
}
export default init;

Loading…
Cancel
Save