add coupon code

pull/29/head
Matthew 2020-11-08 07:21:34 -05:00
parent ced0a94737
commit 24e161fdbf
No known key found for this signature in database
GPG Key ID: 210AF32ADE3B5C4B
1 changed files with 32 additions and 0 deletions

View File

@ -45,6 +45,38 @@ export default class Apply extends Command {
},
});
this.services.set('cs::promot3', {
description: 'Receive 25% off your first purchase of Tier 3.',
type: 'SOFT',
url: 'https://eds.libraryofcode.org/cs/t3-promo',
validation: async (member: Member) => {
if (!member.roles.includes('546457886440685578')) return false;
const customer = await this.client.db.Customer.findOne({ userID: member.user.id }).lean().exec();
if (!customer) return false;
return true;
},
func: async (client: Client, ...data: any[]) => {
const member = await client.guilds.get(client.config.guildID).getRESTMember(data[0]);
const customer = await client.db.Customer.findOne({ userID: member.user.id }).lean().exec();
const coupon = await client.stripe.coupons.create({
percent_off: 25,
duration: 'once',
max_redemptions: 1,
name: 'Tier 3 - EDS Discount',
});
const promo = await client.stripe.promotionCodes.create({
coupon: coupon.id,
customer: customer.cusID,
max_redemptions: 1,
restrictions: {
first_time_transaction: true,
},
});
const chan = await client.getDMChannel(customer.userID);
chan.createMessage(`__**Tier 3 Coupon Code**__\n\`${promo.code}\`\n\n*Do not share this promotional code with anyone else. This promo code is good for your first purchase of Tier 2, 25% off applied. Will apply to your first invoice only, for more questions contact support.*`);
},
});
this.services.set('p::role::constants', {
description: 'Pre-approval for Constants role assignment.',
type: 'SOFT',