Added channels, fixed interactions and added guids

This commit is contained in:
ION606
2023-04-04 22:06:12 -04:00
parent 658b45feee
commit 1a048a01db
10 changed files with 240 additions and 119 deletions
+56 -1
View File
@@ -1,5 +1,5 @@
import axios from 'axios';
import {Channel} from '../messages/message.js';
import { Channel } from './Channel.js';
import Guild from './Guild.js';
export class GuildChannelManager {
@@ -37,6 +37,61 @@ export class GuildChannelManager {
}
/**
* @description returns the deleted channel if successful
* @param {String} cid
* @param {String} reason
* @returns {promise<Channel>}
*/
async delete(cid, reason=null) {
return new Promise(async (resolve) => {
try {
if (!this.cache.has(cid)) throw "This channel does not exist!";
const config = {
headers: {
Authorization: this.#token
}
}
const response = await axios.delete(`https://discord.com/api/channels/${cid}`, config);
const newChannel = new Channel(response.data, this.guild, this.#token);
this.cache.delete(cid);
resolve(newChannel);
} catch (err) {
throw err;
}
});
}
/**
* @returns {Promise<Channel>}
* @param {String} cid
* @param {{name: String, Type: String, position: Number, topic: String, nsfw: Boolean, userLimit : Number, }} opts
*/
async edit(cid, opts) {
return new Promise(async (resolve) => {
try {
if (!this.cache.has(cid)) throw "This channel does not exist!";
if (Object.keys(opts).length == 0) return resolve(this);
const config = {
headers: {
Authorization: this.#token
}
}
const response = await axios.patch(`https://discord.com/api/channels/${cid}`, opts, config);
const newChannel = new Channel(response.data, this.guild, this.#token);
this.cache.set(newChannel.id, newChannel);
resolve(newChannel);
} catch (err) {
throw err;
}
});
}
constructor(token, guild, newCache) {
this.#token = token;
this.guild = guild;