From 3275c01a8b7b918eba775a5762b4e9aa6332c00b Mon Sep 17 00:00:00 2001 From: Inbestigator Date: Thu, 29 Feb 2024 21:46:11 -0800 Subject: [PATCH] Removed axios --- package.json | 1 - pnpm-lock.yaml | 61 +------------------------------ src/plugins/encryptcord/index.tsx | 46 +++++++++++++---------- 3 files changed, 28 insertions(+), 80 deletions(-) diff --git a/package.json b/package.json index 13017b792..908a87d62 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,6 @@ "@sapphi-red/web-noise-suppressor": "0.3.3", "@vap/core": "0.0.12", "@vap/shiki": "0.10.5", - "axios": "^1.6.7", "eslint-plugin-simple-header": "^1.0.2", "fflate": "^0.7.4", "gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0cc197b9..6e407334c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,9 +22,6 @@ dependencies: '@vap/shiki': specifier: 0.10.5 version: 0.10.5 - axios: - specifier: ^1.6.7 - version: 1.6.7 eslint-plugin-simple-header: specifier: ^1.0.2 version: 1.0.2 @@ -902,26 +899,12 @@ packages: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} dev: true - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} hasBin: 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: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true @@ -1100,13 +1083,6 @@ packages: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} 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: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true @@ -1237,11 +1213,6 @@ packages: isobject: 3.0.1 dev: true - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: false - /devtools-protocol@0.0.1107588: resolution: {integrity: sha512-yIR+pG9x65Xko7bErCUSQaDLrO/P1p3JUzEk7JCU4DowPcGHkTGUGQapcfcLc4qj0UaALwZ+cr0riFgiqpixcg==} dev: true @@ -1835,30 +1806,11 @@ packages: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 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: resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} engines: {node: '>=0.10.0'} 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: resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} engines: {node: '>=0.10.0'} @@ -2428,18 +2380,6 @@ packages: picomatch: 2.3.1 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: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -2759,6 +2699,7 @@ packages: /proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} diff --git a/src/plugins/encryptcord/index.tsx b/src/plugins/encryptcord/index.tsx index fdf365245..8d71130b9 100644 --- a/src/plugins/encryptcord/index.tsx +++ b/src/plugins/encryptcord/index.tsx @@ -5,7 +5,7 @@ import * as DataStore from "@api/DataStore"; import { sleep } from "@utils/misc"; import { findByPropsLazy } from "@webpack"; 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 { RestAPI, @@ -23,7 +23,6 @@ import { import { Message } from "discord-types/general"; const MessageCreator = findByPropsLazy("createBotMessage"); const CloudUtils = findByPropsLazy("CloudUpload"); -import axios from 'axios'; import { getCurrentChannel } from "@utils/discord"; import forge from 'node-forge'; @@ -130,17 +129,18 @@ const ChatBarIcon: ChatBarButton = ({ isMainChat }) => { onClick={async () => { const groupChannel = await DataStore.get('encryptcordChannelId'); if (await DataStore.get('encryptcordGroup') == false) { - sendBotMessage(getCurrentChannel().id, { content: `You must be in an E2EE group to send an encrypted message!` }); - return; - } - if (getCurrentChannel().id !== groupChannel) { - sendBotMessage(getCurrentChannel().id, { content: `You must be in the E2EE group channel to send an encrypted message!` }); + await startGroup("", { channel: { id: getCurrentChannel().id } }); + } else if (getCurrentChannel().id !== groupChannel) { + sendBotMessage(getCurrentChannel().id, { content: `You must be in <#${groupChannel}> to send an encrypted message!`, author: { username: "false" } }); return; } setEnabled(!enabled); }} buttonProps={{ - "aria-haspopup": "dialog", + style: { + transition: 'transform 0.3s ease-in-out', + transform: `rotate(${enabled ? 0 : 15}deg)`, + } }} > \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) { const sender = await UserUtils.getUser(interaction.application_id).catch(() => null); - if (!sender || sender.bot == true) return false; - if (interaction.data.component_type == 2 && interaction.data.custom_id == "acceptGroup") { - await sendTempMessage(interaction.application_id, `${await DataStore.get("encryptcordPublicKey")}`, "join"); - } - return true; + if (!sender || sender.bot == true) return; + if (interaction.data.component_type != 2 || interaction.data.custom_id != "acceptGroup") return; + await sendTempMessage(interaction.application_id, `${await DataStore.get("encryptcordPublicKey")}`, "join"); + FluxDispatcher.dispatch({ + type: "MESSAGE_DELETE", + channelId: interaction.channel_id, + id: interaction.message_id, + mlDeleted: true + }); }, flux: { async MESSAGE_CREATE({ optimistic, type, message, channelId }: IMessageCreate) { @@ -215,7 +219,8 @@ export default definePlugin({ }); break; 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); break; default: @@ -226,7 +231,9 @@ export default definePlugin({ if (message.content.toLowerCase() !== "join") return; const sender = await UserUtils.getUser(message.author.id).catch(() => null); 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); return; } @@ -245,11 +252,13 @@ export default definePlugin({ handleLeaving(sender.id, encryptcordGroupMembers, groupChannel); break; 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); break; 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); break; default: @@ -304,7 +313,6 @@ export default definePlugin({ }, }, ], - startAt: StartAt.DOMContentLoaded, async start() { addChatBarButton("Encryptcord", ChatBarIcon); const pair = generateKeyPair();