diff --git a/package.json b/package.json index bb74bfba..0c85b532 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "revolt.js", - "version": "3.0.2", + "version": "3.0.3-alpha.0", "main": "dist/index.js", "repository": "https://gitlab.insrt.uk/revolt/revolt.js", "author": "Paul Makles ", diff --git a/src/Client.ts b/src/Client.ts index e59100a5..66dc3250 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -205,10 +205,19 @@ export class Client extends EventEmitter { * Utility functions. */ async logout() { - this.websocket.disconnect(); + this.reset(); await this.req('GET', '/auth/logout'); } + reset() { + this.websocket.disconnect(); + delete this.user; + delete this.session; + this.users = new Map(); + this.channels = new Map(); + this.messages = new Map(); + } + register(apiURL: string, data: Route<'POST', '/auth/create'>["data"]) { return this.request('POST', '/auth/create', { data, baseURL: apiURL }); } diff --git a/src/api/objects.ts b/src/api/objects.ts index 766a6892..4f3b6320 100644 --- a/src/api/objects.ts +++ b/src/api/objects.ts @@ -7,7 +7,8 @@ export namespace Core { enabled: boolean, key: string, }, - email: boolean + email: boolean, + invite_only: string }, ws: string } diff --git a/src/api/routes.ts b/src/api/routes.ts index 0c219d02..206a1076 100644 --- a/src/api/routes.ts +++ b/src/api/routes.ts @@ -1,4 +1,4 @@ -import { Auth, Channels, Users } from './objects'; +import { Channels, Core, Users } from './objects'; type Routes = /** @@ -9,19 +9,7 @@ type Routes = method: 'GET', route: '/', data: undefined, - response: { - revolt: string, - features: { - registration: boolean, - captcha: { - enabled: boolean, - key: string, - }, - email: boolean, - invite_only: boolean - }, - ws: string - } + response: Core.RevoltNodeConfiguration } /** * Auth diff --git a/src/index.ts b/src/index.ts index ea216c94..8c8856be 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,7 +4,7 @@ export { default as User } from './objects/User'; export { default as Message } from './objects/Message'; export { default as Channel, SavedMessagesChannel, DirectMessageChannel, GroupChannel } from './objects/Channel'; -export const LIBRARY_VERSION = '3.0.2'; +export const LIBRARY_VERSION = '3.0.3-alpha.0'; export const defaultConfig = { apiURL: 'https://api.revolt.chat', diff --git a/src/tester.ts b/src/tester.ts index f61640a4..3f53e1f2 100644 --- a/src/tester.ts +++ b/src/tester.ts @@ -1,9 +1,7 @@ import { config } from 'dotenv'; config(); -import { Channel, Client, User } from "."; -import { GroupChannel } from './objects/Channel'; -import { SystemUser } from './objects/User'; +import { Client } from "."; let client = new Client(); client.once('ready', async () => {