From 80b9aab3f76a35c727797f6558d7fe23c08b01fe Mon Sep 17 00:00:00 2001 From: Ale Date: Sat, 9 Dec 2023 22:46:55 +0100 Subject: [PATCH] FEAT: added tupper migrations from json file --- bun.lockb | Bin 0 -> 57707 bytes package.json | 2 +- src/commands/colorAlterChange.ts~ | 1 - src/commands/createAlter.ts | 12 +++++----- src/commands/help.ts | 6 ++++- src/commands/migrateAlters.ts | 35 ++++++++++++++++++++++++++++++ src/index.ts | 2 +- src/utils/commandHandler.ts | 17 ++++++++++----- 8 files changed, 60 insertions(+), 15 deletions(-) create mode 100755 bun.lockb delete mode 100644 src/commands/colorAlterChange.ts~ create mode 100644 src/commands/migrateAlters.ts diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..34c1ebd37c6d1d560e579109816d1858277b9a4d GIT binary patch literal 57707 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

$J}zzdQ@EKD0})QQSYKn`gf;PeV+~ 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 D&B)R^ literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 615a272..e44d4eb 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "typescript-language-server": "^3.3.2" }, "dependencies": { - "revolt.js": "^7.0.0-beta.7", + "revolt.js": "^7.0.0-beta.9", "shlex": "^2.1.2", "sqlite3": "^5.1.6" } diff --git a/src/commands/colorAlterChange.ts~ b/src/commands/colorAlterChange.ts~ deleted file mode 100644 index 42fe4ad..0000000 --- a/src/commands/colorAlterChange.ts~ +++ /dev/null @@ -1 +0,0 @@ -export function colorAlterChange(userId: string, args: string[]){} diff --git a/src/commands/createAlter.ts b/src/commands/createAlter.ts index 93e648e..66baf22 100644 --- a/src/commands/createAlter.ts +++ b/src/commands/createAlter.ts @@ -31,24 +31,24 @@ export async function createAlter(userId: string, args: string[]){ && !alterNames.includes(args[0])) { alterRepo.addAlterForUser(model); - return "Alter < " + model.name + " > has been succefully created" + return {message: "Alter < " + model.name + " > has been succefully created", code: 0} } else { if (args.length != 2){ - return "Error: Insufficent arguments"; + return {message: "Error: Insufficent arguments", code: 1}; } if (args[1] === "text"){ - return "Error: Tag may not be only "; + return {message: "Error: Tag may not be only ", code: 2}; } if (!args[1].includes("text")) { - return "Error: This command requires a tag that contains in it"; + return {message: "Error: This command requires a tag that contains in it", code: 3}; } if (alterTags.includes(args[1])) { - return "Error: You already have an Alter with that tag" + return {message: "Error: You already have an Alter with that tag", code: 4} } if (alterNames.includes(args[0])) { - return "Error: You can only have one Alter with that name" + return {message: "Error: You can only have one Alter with that name", code: 5} } } } diff --git a/src/commands/help.ts b/src/commands/help.ts index b8a5f89..a2ef9e3 100644 --- a/src/commands/help.ts +++ b/src/commands/help.ts @@ -6,6 +6,10 @@ export function returnHelpText() { "### Alters:\n" + "- list | allows you to see your currently available alters.\n" + "- create <'name of the alter'> <'your alter s tag'>| Allows you to create your Alters\n" + + "- delete <'name of the alter'> | Deletes the choosen Alter\n" + + "- name <'name of the alter'> | Changes the choosen Alter's name\n" + "- avatar <'Alter's name'> <'picture url'> | Allows you to edit your alter's profile picture\n" + - "- color <'Alter's name'> <'color hex'> | Allows you to change the color of your alter ( may be integrated with the website )" + "- color <'Alter's name'> <'color hex'> | Allows you to change the color of your alter ( may be integrated with the future website )\n"+ + "### Migrations\n"+ + "- pluralkit < Json file attached > | Migrates your alters from pluralkit to pluralcake" } diff --git a/src/commands/migrateAlters.ts b/src/commands/migrateAlters.ts new file mode 100644 index 0000000..f348998 --- /dev/null +++ b/src/commands/migrateAlters.ts @@ -0,0 +1,35 @@ +import { File } from "revolt.js" +import { createAlter } from "./createAlter" + +export default async function migrateAlters(author: string, attachments: File[] | undefined, source: String) { + // source is not utilized for now, it is put as an argument in case the bot evolves further + + let file = attachments[0] + + if (file.contentType === "text/plain") { + + const fileResponse = await fetch(file.url) + const fileResponseBlob = await fileResponse.blob() + const textFromBlob = fileResponseBlob.text() + const jsonFromText = JSON.parse(await textFromBlob) + + if (jsonFromText.tuppers === "undefined"){ + return "wrong json file, be certain that this is a tupperbox migration file" + } + + const tuppers = jsonFromText.tuppers + + tuppers.forEach(async element => { + let name = element.name + let brackets = element.brackets[0] + "text" + element.brackets[1] + const createResult = await createAlter(author, [name, brackets]) + let tupperStruct = {tupper: name, message: createResult} + + console.log(tupperStruct) + }); + return "Migration finished, check your tuppers to confirm" + } + else { + return "This is not a valid json file" + } +} diff --git a/src/index.ts b/src/index.ts index f3d2bb4..8c489fc 100644 --- a/src/index.ts +++ b/src/index.ts @@ -11,7 +11,7 @@ client.on("ready", async () => { }); client.on("messageCreate", async (message: Message) => { - try{if (!message.author) {await client.users.fetch(message.authorId)} } + try{ if (!message.author) { await client.users.fetch(message.authorId) } } catch(e){console.log(e)} if (message.content === undefined) {return} diff --git a/src/utils/commandHandler.ts b/src/utils/commandHandler.ts index 8533f1a..ed77c86 100644 --- a/src/utils/commandHandler.ts +++ b/src/utils/commandHandler.ts @@ -5,6 +5,8 @@ import { createAlter } from "../commands/createAlter" import { deleteAlter } from "../commands/deleteAlter" import { avatarAlterChange } from "../commands/avatarAlterChange" import { colorAlterChange } from "../commands/colorAlterChange" +import migrationCommand from "../commands/migrateAlters" + import { split } from "shlex" export async function commandHandler(message : Message, _prefix : String) { @@ -15,7 +17,7 @@ export async function commandHandler(message : Message, _prefix : String) { switch(command) { case "help" : { - message.reply(returnHelpText()); + await message.reply(returnHelpText()); break; } case "list" : { @@ -23,7 +25,8 @@ export async function commandHandler(message : Message, _prefix : String) { break; } case "create" : { - await message.reply(await createAlter(message.author.id, args)); + const commandResponse = await createAlter(message.author.id, args); + await message.reply (commandResponse.message) break } case "delete" : { @@ -34,9 +37,13 @@ export async function commandHandler(message : Message, _prefix : String) { await message.reply(await avatarAlterChange(message.author.id, args)); break } - case "color" : { - await message.reply(await colorAlterChange(message.author.id, args)); - break + case "color" : { + await message.reply(await colorAlterChange(message.author.id, args)); + break + } + case "tupper" : { + await message.reply(await migrationCommand(message.author.id, message.attachments, "placeholder")) + break } } }