1.1.0 • Published 3 years ago

pie-giveaway v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

pie-giveaways

A package for giveaways

Installation

npm install pie-giveaways

Examples

Example for start command Example for create command Example for Drop command

Start

Start by creating a new GiveawayCreator.

const { Client } = require('discord.js');
const client = new Client();
//must add this line or it will throw err and also make sure to add it just after client declaration.
require('discord-buttons')(client);
const { GiveawayCreator } = require('pie-giveaways');
const gwcreator = new GiveawayCreator(client, 'mongodb://...');
const giveaway = gwcreator; // Access the Creator from anywhere.

All Methods

startGiveaway(options)

Starts a giveaway. Example:

client.on('message', async message => {
    if (message.content.startsWith('!start)) {
        const channel = message.mentions.channels.first();
        await giveaway.startGiveaway({
            prize: 'Discord Nitro Classic',
            channelId: channel.id,
            guildId: message.guild.id,
            duration: 30000, // 30 Seconds
            winners: 1, // 1 winner
            hostedBy: message.author.id
        });
    }
});
createGiveaway(message)

Creates a giveaway. Example:

client.on('message', async message => {
    if (message.content.startsWith('!create')) {
     await giveaway.createGiveaway(message) 
    }
});
endGiveaway(messageId)

Ends a giveaway. Example:

client.on('message', async message => {
    if (message.content.startsWith('!end')) {
        const args = message.content.split(' ').slice(1);
        const ended = await giveaway.endGiveaway(args.join(' '));
        
        if (!ended) {
            return message.channel.send('This giveaway has already ended');
        }
        else {
            message.channel.send('Ended the giveaway');
        }
    }
});
rerollGiveaway(messageId)

Rerolls a giveaway. Example:

client.on('message', async message => {
    if (message.content.startsWith('!end')) {
        const args = message.content.split(' ').slice(1);
        const rerolled = await giveaway.rerollGiveaway(args.join(' '));
        
        if (!rerolled) {
            return message.channel.send('This giveaway hasn\'t ended');
        }
        else {
            message.channel.send('Rerolled the giveaway');
        }
    }
});
listGiveaways(guildId)
const prettyMilliseconds = require('pretty-ms'); // npm i pretty-ms

client.on('message', async message => {
    if (message.content.startsWith('!list')) {
        const list = await giveaway.listGiveaways(message.guild.id);
        
        if (!list) {
            return message.channel.send('No active giveaways.');
        } else {
            message.channel.send(`${list.map(i => `\`${i.messageId}\` - **${i.prize}** | ${prettyMilliseconds(i.timeRemaining)} | Host: **${i.hostedBy}**`).join('\n')}`)
        }
    }
});
drop(message, client, options)

Creates a Drop. Example:

client.on('message', async message => {
    if (message.content.startsWith('!create')) {
     await giveaway.drop(message, client, {
prize: 'nitro',
hostID: message.author.id
}) 
    }
});
1.0.9

3 years ago

1.0.8

3 years ago

0.0.1

3 years ago

0.0.2

3 years ago

1.0.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago