Removed axios

This commit is contained in:
Inbestigator 2024-02-29 21:46:11 -08:00
parent ec75223883
commit 3275c01a8b
3 changed files with 28 additions and 80 deletions

View file

@ -34,7 +34,6 @@
"@sapphi-red/web-noise-suppressor": "0.3.3", "@sapphi-red/web-noise-suppressor": "0.3.3",
"@vap/core": "0.0.12", "@vap/core": "0.0.12",
"@vap/shiki": "0.10.5", "@vap/shiki": "0.10.5",
"axios": "^1.6.7",
"eslint-plugin-simple-header": "^1.0.2", "eslint-plugin-simple-header": "^1.0.2",
"fflate": "^0.7.4", "fflate": "^0.7.4",
"gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3", "gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3",

61
pnpm-lock.yaml generated
View file

@ -22,9 +22,6 @@ dependencies:
'@vap/shiki': '@vap/shiki':
specifier: 0.10.5 specifier: 0.10.5
version: 0.10.5 version: 0.10.5
axios:
specifier: ^1.6.7
version: 1.6.7
eslint-plugin-simple-header: eslint-plugin-simple-header:
specifier: ^1.0.2 specifier: ^1.0.2
version: 1.0.2 version: 1.0.2
@ -902,26 +899,12 @@ packages:
resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==}
dev: true dev: true
/asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: false
/atob@2.1.2: /atob@2.1.2:
resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
engines: {node: '>= 4.5.0'} engines: {node: '>= 4.5.0'}
hasBin: true hasBin: true
dev: true dev: true
/axios@1.6.7:
resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
dependencies:
follow-redirects: 1.15.5
form-data: 4.0.0
proxy-from-env: 1.1.0
transitivePeerDependencies:
- debug
dev: false
/balanced-match@1.0.2: /balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true dev: true
@ -1100,13 +1083,6 @@ packages:
resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
dev: true dev: true
/combined-stream@1.0.8:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'}
dependencies:
delayed-stream: 1.0.0
dev: false
/component-emitter@1.3.0: /component-emitter@1.3.0:
resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==}
dev: true dev: true
@ -1237,11 +1213,6 @@ packages:
isobject: 3.0.1 isobject: 3.0.1
dev: true dev: true
/delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
dev: false
/devtools-protocol@0.0.1107588: /devtools-protocol@0.0.1107588:
resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==} resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==}
dev: true dev: true
@ -1835,30 +1806,11 @@ packages:
resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
dev: true dev: true
/follow-redirects@1.15.5:
resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
peerDependenciesMeta:
debug:
optional: true
dev: false
/for-in@1.0.2: /for-in@1.0.2:
resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true dev: true
/form-data@4.0.0:
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
engines: {node: '>= 6'}
dependencies:
asynckit: 0.4.0
combined-stream: 1.0.8
mime-types: 2.1.35
dev: false
/fragment-cache@0.2.1: /fragment-cache@0.2.1:
resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
@ -2428,18 +2380,6 @@ packages:
picomatch: 2.3.1 picomatch: 2.3.1
dev: true dev: true
/mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
dev: false
/mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
dev: false
/min-indent@1.0.1: /min-indent@1.0.1:
resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
engines: {node: '>=4'} engines: {node: '>=4'}
@ -2759,6 +2699,7 @@ packages:
/proxy-from-env@1.1.0: /proxy-from-env@1.1.0:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: true
/pump@3.0.0: /pump@3.0.0:
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}

View file

@ -5,7 +5,7 @@ import * as DataStore from "@api/DataStore";
import { sleep } from "@utils/misc"; import { sleep } from "@utils/misc";
import { findByPropsLazy } from "@webpack"; import { findByPropsLazy } from "@webpack";
import { addPreSendListener, removePreSendListener, SendListener } from "@api/MessageEvents"; import { addPreSendListener, removePreSendListener, SendListener } from "@api/MessageEvents";
import { useEffect, useState } from "@webpack/common"; import { useEffect, useState, FluxDispatcher } from "@webpack/common";
import { Devs } from "@utils/constants"; import { Devs } from "@utils/constants";
import { import {
RestAPI, RestAPI,
@ -23,7 +23,6 @@ import {
import { Message } from "discord-types/general"; import { Message } from "discord-types/general";
const MessageCreator = findByPropsLazy("createBotMessage"); const MessageCreator = findByPropsLazy("createBotMessage");
const CloudUtils = findByPropsLazy("CloudUpload"); const CloudUtils = findByPropsLazy("CloudUpload");
import axios from 'axios';
import { getCurrentChannel } from "@utils/discord"; import { getCurrentChannel } from "@utils/discord";
import forge from 'node-forge'; import forge from 'node-forge';
@ -130,17 +129,18 @@ const ChatBarIcon: ChatBarButton = ({ isMainChat }) => {
onClick={async () => { onClick={async () => {
const groupChannel = await DataStore.get('encryptcordChannelId'); const groupChannel = await DataStore.get('encryptcordChannelId');
if (await DataStore.get('encryptcordGroup') == false) { if (await DataStore.get('encryptcordGroup') == false) {
sendBotMessage(getCurrentChannel().id, { content: `You must be in an E2EE group to send an encrypted message!` }); await startGroup("", { channel: { id: getCurrentChannel().id } });
return; } else if (getCurrentChannel().id !== groupChannel) {
} sendBotMessage(getCurrentChannel().id, { content: `You must be in <#${groupChannel}> to send an encrypted message!`, author: { username: "false" } });
if (getCurrentChannel().id !== groupChannel) {
sendBotMessage(getCurrentChannel().id, { content: `You must be in the E2EE group channel to send an encrypted message!` });
return; return;
} }
setEnabled(!enabled); setEnabled(!enabled);
}} }}
buttonProps={{ buttonProps={{
"aria-haspopup": "dialog", style: {
transition: 'transform 0.3s ease-in-out',
transform: `rotate(${enabled ? 0 : 15}deg)`,
}
}} }}
> >
<svg <svg
@ -178,17 +178,21 @@ export default definePlugin({
find: "executeMessageComponentInteraction:", find: "executeMessageComponentInteraction:",
replacement: { replacement: {
match: /await\s+l\.default\.post\({\s*url:\s*A\.Endpoints\.INTERACTIONS,\s*body:\s*C,\s*timeout:\s*3e3\s*},\s*t\s*=>\s*{\s*h\(T,\s*p,\s*f,\s*t\)\s*}\s*\)/, match: /await\s+l\.default\.post\({\s*url:\s*A\.Endpoints\.INTERACTIONS,\s*body:\s*C,\s*timeout:\s*3e3\s*},\s*t\s*=>\s*{\s*h\(T,\s*p,\s*f,\s*t\)\s*}\s*\)/,
replace: 'if(await $self.joinGroup(C))return;$&' replace: 'await $self.joinGroup(C);$&'
} }
} }
], ],
async joinGroup(interaction) { async joinGroup(interaction) {
const sender = await UserUtils.getUser(interaction.application_id).catch(() => null); const sender = await UserUtils.getUser(interaction.application_id).catch(() => null);
if (!sender || sender.bot == true) return false; if (!sender || sender.bot == true) return;
if (interaction.data.component_type == 2 && interaction.data.custom_id == "acceptGroup") { if (interaction.data.component_type != 2 || interaction.data.custom_id != "acceptGroup") return;
await sendTempMessage(interaction.application_id, `${await DataStore.get("encryptcordPublicKey")}`, "join"); await sendTempMessage(interaction.application_id, `${await DataStore.get("encryptcordPublicKey")}`, "join");
} FluxDispatcher.dispatch({
return true; type: "MESSAGE_DELETE",
channelId: interaction.channel_id,
id: interaction.message_id,
mlDeleted: true
});
}, },
flux: { flux: {
async MESSAGE_CREATE({ optimistic, type, message, channelId }: IMessageCreate) { async MESSAGE_CREATE({ optimistic, type, message, channelId }: IMessageCreate) {
@ -215,7 +219,8 @@ export default definePlugin({
}); });
break; break;
case "groupdata": case "groupdata":
const groupdata = (await axios.get(message.attachments[0].url)).data; const response = await fetch(message.attachments[0].url);
const groupdata = await response.json();
await handleGroupData(groupdata); await handleGroupData(groupdata);
break; break;
default: default:
@ -226,7 +231,9 @@ export default definePlugin({
if (message.content.toLowerCase() !== "join") return; if (message.content.toLowerCase() !== "join") return;
const sender = await UserUtils.getUser(message.author.id).catch(() => null); const sender = await UserUtils.getUser(message.author.id).catch(() => null);
if (!sender) return; if (!sender) return;
const userKey = (await axios.get(message.attachments[0].url)).data; const response = await fetch(message.attachments[0].url);
console.log(response);
const userKey = await response.text();
await handleJoin(sender.id, userKey, encryptcordGroupMembers); await handleJoin(sender.id, userKey, encryptcordGroupMembers);
return; return;
} }
@ -245,11 +252,13 @@ export default definePlugin({
handleLeaving(sender.id, encryptcordGroupMembers, groupChannel); handleLeaving(sender.id, encryptcordGroupMembers, groupChannel);
break; break;
case "message": case "message":
const messagedata = (await axios.get(message.attachments[0].url)).data; const msgResponse = await fetch(message.attachments[0].url);
const messagedata = await msgResponse.json();
await handleMessage(messagedata, sender.id, groupChannel); await handleMessage(messagedata, sender.id, groupChannel);
break; break;
case "groupdata": case "groupdata":
const groupdata = (await axios.get(message.attachments[0].url)).data; const response = await fetch(message.attachments[0].url);
const groupdata = await response.json();
await handleGroupData(groupdata); await handleGroupData(groupdata);
break; break;
default: default:
@ -304,7 +313,6 @@ export default definePlugin({
}, },
}, },
], ],
startAt: StartAt.DOMContentLoaded,
async start() { async start() {
addChatBarButton("Encryptcord", ChatBarIcon); addChatBarButton("Encryptcord", ChatBarIcon);
const pair = generateKeyPair(); const pair = generateKeyPair();