feat(Client) combine autoRedeem and normal redeem

This commit is contained in:
TheDevYellowy 2022-07-09 05:56:04 -05:00
parent 7d42d08cdb
commit 7c672aab06

View File

@ -441,34 +441,7 @@ class Client extends BaseClient {
*/ */
async autoRedeemNitro(message, channel) { async autoRedeemNitro(message, channel) {
if (typeof message !== Message) return; if (typeof message !== Message) return;
const regex = { await this.redeemNitro(message.content)
gift: /(discord.gift|discord.com|discordapp.com\/gifts)\/\w{16,25}/gim,
url: /(discord\.gift\/|discord\.com\/gifts\/|discordapp\.com\/gifts\/)/gim,
};
var codes = message.content.match(regex.gift);
if (codes?.length) {
for (let code of codes) {
code = code.replace(regex.url, '');
if (this.usedCodes.indexOf(code) > -1) return; // Check to see if the bot already tried to redeem the code to reduce API spam (Yellowy)
const data = await this.api.entitlements['gift-codes'](code).redeem.post({
auth: true,
data: { channel_id: channel.id, payment_source_id: null },
});
if (data.code == 10038) {
// Data.code 10038 = UNKNOWN_GIFT_CODE
this.emit(
Events.DEBUG,
`Nitro code found
channel id: ${channel.id}
code: ${code}
valid: ${false}`,
);
}
this.usedCodes.push(code);
}
}
} }
/** /**
@ -482,7 +455,7 @@ class Client extends BaseClient {
gift: /(discord.gift|discord.com|discordapp.com\/gifts)\/\w{16,25}/gim, gift: /(discord.gift|discord.com|discordapp.com\/gifts)\/\w{16,25}/gim,
url: /(discord\.gift\/|discord\.com\/gifts\/|discordapp\.com\/gifts\/)/gim, url: /(discord\.gift\/|discord\.com\/gifts\/|discordapp\.com\/gifts\/)/gim,
}; };
if (regex.url.test(nitro)) { if (nitro.match(regex.gift) !== null) {
let codes = nitro.match(regex.gift); let codes = nitro.match(regex.gift);
for (let code of codes) { for (let code of codes) {
code = code.replace(regex.url, ''); code = code.replace(regex.url, '');