twitch-account
v1.1.3
Published
Create a twitch account
Downloads
9
Maintainers
Readme
Twitch Account Generator
Install
yarn add twitch-account
Sample
import {
AntiCaptchaService,
MailService,
TwitchService,
GenerateUser,
ParseTokenCaptcha,
TwitchInvalidUsernameException,
} from './twitch-account';
// MAIL DOMAIN
const DOMAIN = 'chitthi.in';
// TWITCH CLIENT ID
const CLIENT_ID = 'kimne78kx3ncx6brgo4mv6wki5h1ko';
// ARKOSE FUN CATCHA KEY
const CAPTCHA_KEY = 'E5554D43-23CC-1982-971D-6A2262A2CA24';
const PROXY = {
host: '<YOUR_HOST>',
port: 443,
auth: {
username: '<YOUR_USERNAME>',
password: '<YOUR_PASSWORD>',
},
protocol: 'http' || 'sock',
};
const USER_AGENT = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Mobile Safari/537.36'
// Setup Service
const MailClient = new MailService({ domain: DOMAIN, proxy: PROXY });
const TwitchClient = new TwitchService({
clientId: CLIENT_ID,
userAgent: USER_AGENT,
proxy: PROXY,
});
const AntiCaptcha = new AntiCaptchaService({
apiKey: '<YOUR_ANTICAPTCHA_API_KEY>',
proxy: PROXY,
userAgent: USER_AGENT,
});
// Load default cookie from twitch
await TwitchClient.CurlCookie();
// We use https://tempmail.plus/en/#! to parse email
// Some domain is available
// You have tool to use your self email provider
// You can pass too your self username and password
const UserData = GenerateUser({
email: {
domain: MailClient.domain,
},
});
// Verify if username generate is free
if (!(await TwitchClient.isUserNameValid(UserData.username))) {
throw new TwitchInvalidUsernameException(UserData.username);
}
// Solve Captcha
const UnParsedCaptcha = await AntiCaptcha.resolve({
url: TwitchService.SIGN_UP_URL,
key: CAPTCHA_KEY,
});
// Parse Captcha
const ParsedCaptcha = ParseTokenCaptcha(UnParsedCaptcha);
// Generate payload for create user request
const UserPayload = TwitchClient.generatePayload({
user: UserData,
token: ParsedCaptcha,
});
// Request create user
// Return an object with userId and accessToken when is successful
const User = await TwitchClient.create(UserPayload);
// Get last mail
// 2nd parameter : Max retry
// 3rd parameter : Retry interval
const MailContent = await MailClient.getContentLastMailWithRetry(
UserData.id,
20,
);
// Get opaque id from mail content (version text)
const OpaqueID = TwitchClient.getOpaqueIdFromMailVerification(MailContent);
// Request to verify the email
await TwitchClient.verifyMail(OpaqueID);
TroubleShooting
Exception TwitchCaptchaInvalidException
is frequent if proxy is fraud detected by the KYC service (Arkose)
TODO
- Scrap
- Client ID
- FunCapcha Token
Licence
MIT