diff options
Diffstat (limited to 'src/plugins/apiMessageEvents.ts')
-rw-r--r-- | src/plugins/apiMessageEvents.ts | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/apiMessageEvents.ts b/src/plugins/apiMessageEvents.ts new file mode 100644 index 0000000..79acd32 --- /dev/null +++ b/src/plugins/apiMessageEvents.ts @@ -0,0 +1,28 @@ +import definePlugin from "../utils/types"; + +export default definePlugin({ + name: "MessageEventsAPI", + description: "Api required by anything using message events.", + author: "ArjixWasTaken", + patches: [ + { + find: "sendMessage:function", + replacement: [{ + match: /(?<=sendMessage:function\(.{1,2},.{1,2},.{1,2},.{1,2}\)){/, + replace: "{Vencord.Api.MessageEvents._handlePreSend(...arguments);" + }, { + match: /(?<=editMessage:function\(.{1,2},.{1,2},.{1,2}\)){/, + replace: "{Vencord.Api.MessageEvents._handlePreEdit(...arguments);" + }] + }, + { + find: "if(e.altKey){", + replacement: { + match: /\.useClickMessage=function\((.{1,2}),(.{1,2})\).+?function\((.{1,2})\){/, + replace: (m, message, channel, event) => + // the message param is shadowed by the event param, so need to alias them + `${m.replace("{", `{var _msg=${message};var _chan=${channel};`)}Vencord.Api.MessageEvents._handleClick(_msg, _chan, ${event});` + } + } + ] +}); |