Revolt-Bot/src/commands/colorMemberChange.ts

33 lines
1,022 B
TypeScript
Raw Normal View History

2024-03-15 18:41:08 +01:00
import { MemberRepo } from "../repositories/MemberRepo"
import MemberModel from "../models/MemberModel"
import { Database } from "bun:sqlite";
2023-09-05 20:34:33 +02:00
2024-03-15 18:41:08 +01:00
async function colorMemberChange(userId: string, args: string[], database: Database){
const memberRepo = new MemberRepo(database);
const regexHex = /^#[0-9A-F]{6}$/i;
if (args.length == 2 && regexHex.test(args[1])){
2023-09-05 20:34:33 +02:00
const alterName = args[0];
const alterColor = args[1];
2024-03-17 17:13:51 +01:00
const alters: MemberModel[] = memberRepo.getAltersByUserId(userId) // fetching alters from user.
if (alters.length == 0) return "This user has no Members." // checking if returned array is at least not 0, if len 0, then return.
2024-03-15 18:41:08 +01:00
let alterToEdit: MemberModel;
alters.forEach( alter => {
if (alter.name == alterName) {
alterToEdit = alter;
}
})
alterToEdit.color = alterColor;
2024-03-15 18:41:08 +01:00
memberRepo.editAlter(alterToEdit)
2023-09-05 20:34:33 +02:00
return "The Member's colour has been changed."
2023-09-05 20:34:33 +02:00
}
return "Error: Insufficent Arguments"
2023-09-05 20:34:33 +02:00
}
2024-03-15 18:41:08 +01:00
export default colorMemberChange