1.0.3 • Published 3 years ago

electron-discordloginapi v1.0.3

Weekly downloads
-
License
Apache License 2....
Repository
github
Last release
3 years ago

Electron-DiscordLoginAPI

Obtain discord user token with an electron login page

Install

Dependencies:

  • electron (obviously)

Installation:

npm install electron-discordloginapi

Node Usage

The application must run in an Electron process

Import lib

const LoginApi = require('electron-discordloginapi');

Start the login

LoginApi.startLogin();

Add event listeners

LoginApi.setCancelListener(() => {
	//when the user manualy close the login page
	console.log('login cancelled!');
});
LoginApi.setLoginFailListener(result => {
	//when the user enter wrong password/username or need captcha verification/2fa etc...
	console.log('login failed!', result);
});
LoginApi.setLoginSuccessListener(result => {
	//when the login is complete
	console.log('login succed! token: ', result.token);
});
LoginApi.setCloseListener(() => {
	//when the page is closed by the user or after clogin complete
	console.log('page closed!');
});

Remove event listeners

LoginApi.removeCancelListener(cancelListener);
LoginApi.removeLoginFailListener(loginFailListener);
LoginApi.removeLoginSuccessListener(loginSuccessListener);
LoginApi.removeCloseListener(closeListener);

LoginApi.removeAllCancelListeners();
LoginApi.removeAllLoginFailListeners();
LoginApi.removeAllLoginSuccessListeners();
LoginApi.removeAllCloseListeners();

Screenshots

screenshot

Types

interface error {
	code: number;
	errors?: Map<string, { _errors: Array<error> }>;
	message: string;
}

interface failResult extends error {}

interface loginResult {
	token: string;
	user_settings: {
		locale: string;
		theme: 'light' | 'dark';
	};
}

export function startLogin(): void;
export function cancel(): void;
export function close(): void;

export function setCancelListener(cancelListener: () => void): void;
export function removeCancelListener(cancelListener: () => void): void;
export function removeAllCancelListeners(): void;

export function setLoginFailListener(
	loginFailListener: (result: failResult) => void
): void;
export function removeLoginFailListener(
	loginFailListener: (result: failResult) => void
): void;
export function removeAllLoginFailListeners(): void;

export function setLoginSuccessListener(
	loginSuccessListener: (result: loginResult) => void
): void;
export function removeLoginSuccessListener(
	loginSuccessListener: (result: loginResult) => void
): void;
export function removeAllLoginSuccessListeners(): void;

export function setCloseListener(closeListener: () => void): void;
export function removeCloseListener(closeListener: () => void): void;
export function removeAllCloseListeners(): void;

export const cancelListeners: Array<() => void>;
export const loginFailListeners: Array<(result: failResult) => void>;
export const loginSuccessListeners: Array<(result: loginResult) => void>;
export const closeListeners: Array<() => void>;
1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago