diff --git a/package.json b/package.json index 64d0915c..3529942b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "revolt.js", - "version": "4.3.2-patch.0", + "version": "4.3.2-patch.1", "main": "dist/index.js", "repository": "https://gitlab.insrt.uk/revolt/revolt.js", "author": "Paul Makles ", diff --git a/src/maps/Servers.ts b/src/maps/Servers.ts index 9d8a1cba..331c5cd6 100644 --- a/src/maps/Servers.ts +++ b/src/maps/Servers.ts @@ -43,8 +43,8 @@ export default class Servers extends Collection { /** * Create a server - * @param data Group create route data - * @returns The newly-created group + * @param data Server create route data + * @returns The newly-created server */ async createServer(data: Route<'POST', '/servers/create'>["data"]) { let res = await this.client.req('POST', `/servers/create`, data); @@ -55,13 +55,22 @@ export default class Servers extends Collection { /** * Create a channel * @param id ID of the target server - * @param data Group create route data - * @returns The newly-created group + * @param data Channel create route data + * @returns The newly-created channel */ async createChannel(id: string, data: Route<'POST', '/servers/id/channels'>["data"]) { + let server = this.client.servers.getMutable(id); + if (!server) throw "Server does not exist!"; + let res = await this.client.req('POST', `/servers/${id}/channels` as '/servers/id/channels', data); this.client.channels.set(res); - return this.client.channels.get(res._id) as Readonly; + + server.channels = [ + ...server.channels.filter(x => x !== res._id), + res._id + ]; + + return this.client.channels.get(res._id) as Readonly; } /** diff --git a/src/websocket/client.ts b/src/websocket/client.ts index 88a96c42..072aa91d 100644 --- a/src/websocket/client.ts +++ b/src/websocket/client.ts @@ -1,10 +1,10 @@ import WebSocket from 'isomorphic-ws'; import { backOff } from 'exponential-backoff'; +import { Auth, User } from '../api/objects'; import { Client, SYSTEM_USER_ID } from '..'; -import { Auth, Channels, User } from '../api/objects'; -import { ServerboundNotification, ClientboundNotification } from './notifications'; import { objectToFlatKey } from '../maps/Members'; +import { ServerboundNotification, ClientboundNotification } from './notifications'; export class WebSocketClient { client: Client;