feat: remove nopecha

This commit is contained in:
Elysia 2023-04-06 19:29:25 +07:00
parent 00d6a6a88a
commit 34fb1df241
5 changed files with 7 additions and 31 deletions

View File

@ -70,6 +70,10 @@ class APIRequest {
if (this.options.auth !== false) headers.Authorization = this.rest.getAuth(); if (this.options.auth !== false) headers.Authorization = this.rest.getAuth();
if (this.options.reason) headers['X-Audit-Log-Reason'] = encodeURIComponent(this.options.reason); if (this.options.reason) headers['X-Audit-Log-Reason'] = encodeURIComponent(this.options.reason);
if (this.options.headers) headers = Object.assign(headers, this.options.headers); if (this.options.headers) headers = Object.assign(headers, this.options.headers);
// Delete all headers if undefined
for (const [key, value] of Object.entries(headers)) {
if (value === undefined) delete headers[key];
}
if (this.options.webhook === true) { if (this.options.webhook === true) {
headers = { headers = {
'User-Agent': this.client.options.http.headers['User-Agent'], 'User-Agent': this.client.options.http.headers['User-Agent'],

View File

@ -91,33 +91,6 @@ module.exports = class CaptchaSolver {
}); });
break; break;
} }
case 'nopecha': {
if (!key || typeof key !== 'string') throw new Error('nopecha key is not provided');
try {
const { Configuration, NopeCHAApi } = require('nopecha');
this.service = 'nopecha';
this.key = key;
const configuration = new Configuration({
apiKey: key,
});
this.solver = new NopeCHAApi(configuration);
this.solve = (data, userAgent) =>
new Promise((resolve, reject) => {
if (data.captcha_rqdata) reject(new Error('nopecha does not support invisible captcha'));
this.solver
.solveToken({
type: 'hcaptcha',
sitekey: data.captcha_sitekey,
url: 'https://discord.com/channels/@me',
useragent: userAgent,
})
.then(console.log);
});
break;
} catch (e) {
throw this._missingModule('nopecha');
}
}
default: { default: {
this.solve = this.defaultCaptchaSolver; this.solve = this.defaultCaptchaSolver;
} }

View File

@ -18,10 +18,9 @@ exports.MaxBulkDeletableMessageAge = 1_209_600_000;
* API captcha solver * API captcha solver
* * `2captcha` - 2captcha.com * * `2captcha` - 2captcha.com
* * `capmonster` - capmonster.cloud * * `capmonster` - capmonster.cloud
* * `nopecha` - nopecha.com
* @typedef {string[]} captchaServices * @typedef {string[]} captchaServices
*/ */
exports.captchaServices = ['2captcha', 'capmonster', 'nopecha', 'custom']; exports.captchaServices = ['2captcha', 'capmonster', 'custom'];
/** /**
* Automatically scan and delete direct messages you receive that contain explicit media content. * Automatically scan and delete direct messages you receive that contain explicit media content.

View File

@ -201,7 +201,7 @@ class Options extends null {
os_version: '10.0.22621', os_version: '10.0.22621',
os_arch: 'x64', os_arch: 'x64',
system_locale: 'en-US', system_locale: 'en-US',
client_build_number: 99997, // 184787 (stable) but we don't want the captcha to be more difficult to solve client_build_number: 184787, // 184787 (stable) but we don't want the captcha to be more difficult to solve
native_build_number: 30921, native_build_number: 30921,
client_event_source: null, client_event_source: null,
design_id: 0, design_id: 0,

2
typings/index.d.ts vendored
View File

@ -5057,7 +5057,7 @@ export interface ClientOptions {
usingNewAttachmentAPI?: boolean; usingNewAttachmentAPI?: boolean;
} }
export type captchaServices = '2captcha' | 'capmonster' | 'nopecha'; export type captchaServices = '2captcha' | 'capmonster';
// end copy // end copy