0% acharam este documento útil (0 voto)
4 visualizações3 páginas

Bot de Vendas para Discord

Enviado por

luquetbeiramar3
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações3 páginas

Bot de Vendas para Discord

Enviado por

luquetbeiramar3
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

const { Client, MessageActionRow, MessageButton } = require('discord.

js');
const { prompt } = require('enquirer');
const mongoose = require('mongoose');
const { token, prefix, ownerID } = require('./[Link]');
const client = new Client({ intents: ['GUILDS', 'GUILD_MESSAGES',
'DIRECT_MESSAGES', 'MESSAGE_CONTENT'] });

// Banco de Dados para armazenar compras e produtos


const ProductSchema = new [Link]({
name: String,
price: Number,
description: String,
imageUrl: String,
stock: Number
});
const Product = [Link]('Product', ProductSchema);

// Conectar ao MongoDB
[Link]('mongodb://localhost/vendasbot', { useNewUrlParser: true,
useUnifiedTopology: true });

[Link]('ready', () => {
[Link](`${[Link]} está online e funcionando!`);
});

[Link]('messageCreate', async (message) => {


if ([Link]) return;

// Comando de configuração para o dono do bot


if ([Link]('/botconfig') && [Link] === ownerID)
{
const configMenu = new MessageActionRow()
.addComponents(
new MessageButton()
.setCustomId('config_channels')
.setLabel('Configurar Canais')
.setStyle('PRIMARY'),
new MessageButton()
.setCustomId('config_products')
.setLabel('Configurar Produtos')
.setStyle('PRIMARY')
);
await [Link]({ content: 'Escolha uma opção para configurar:',
components: [configMenu] });
}

// Botão de compra
if ([Link]('/comprar')) {
const productID = [Link](' ')[1];
const product = await [Link](productID);

if (!product) {
return [Link]('Produto não encontrado!');
}

// Menu interativo para pagamento


const paymentMenu = new MessageActionRow()
.addComponents(
new MessageButton()
.setCustomId('pay_button')
.setLabel(`Pagar ${[Link]} R$`)
.setStyle('SUCCESS'),
new MessageButton()
.setCustomId('cancel_button')
.setLabel('Cancelar')
.setStyle('DANGER')
);

await [Link]({
content: `Você selecionou o produto ${[Link]} por $
{[Link]} R$.

Descrição: ${[Link]}`,
components: [paymentMenu]
});
}
});

// Comando de configuração do bot (exemplo de como pode ser feito no privado)


[Link]('interactionCreate', async (interaction) => {
if (![Link]()) return;

const user = [Link];

if ([Link] === 'config_channels') {


// Aqui seria onde o dono poderia configurar os canais (exemplo básico)
await [Link]('Você pode configurar canais aqui!');
}

if ([Link] === 'config_products') {


// Configuração de produtos
const response = await prompt({
type: 'input',
name: 'product_name',
message: 'Digite o nome do produto:'
});

const product = new Product({


name: response.product_name,
price: 100, // Preço fictício por enquanto
description: 'Descrição do produto.',
imageUrl: '[Link]
stock: 10
});

await [Link]();
await [Link](`Produto ${[Link]} criado com sucesso!`);
}

// Processo de pagamento
if ([Link] === 'pay_button') {
// Aqui o bot faria a verificação de pagamento
// Após pagamento confirmado, o bot entrega o produto automaticamente
await [Link]('Pagamento confirmado! O produto será entregue em
breve.');
}
if ([Link] === 'cancel_button') {
await [Link]('Compra cancelada.');
}
});

// Login do bot
[Link](token).catch((error) => {
[Link]('Erro ao fazer login:', error);
});

Você também pode gostar