-
-
Save pedroricardo/8f9aa804af14156a20c90659ec30c8f6 to your computer and use it in GitHub Desktop.
const low = require('lowdb') | |
const FileSync = require('lowdb/adapters/FileSync') | |
const adapter = new FileSync('banco.json') | |
const db = low(adapter) | |
//criar | |
db.set('servidor2', []) | |
//postar | |
db.get('servidor1').push({ | |
id: "0000000", | |
nick: "pedro", | |
avatar: "link.com/avatar.png" | |
}) | |
//editar | |
db.get('servidor1').find({id: "1111111"}).assign({nick: "paulo novo"}) | |
//buscar | |
let valor = db.get('servidor1').find({id: "1111111"}).value() | |
console.log(valor) | |
//apagar | |
db.get('servidor1').remove({id: "1111111"}).write() | |
const Discord = require("discord.js"); //baixar a lib discord.js | |
const client = new Discord.Client(); | |
const config = require("./config.json"); | |
const low = require('lowdb') //banco de dados | |
const FileSync = require('lowdb/adapters/FileSync') | |
const adapter = new FileSync('banco.json') | |
const db = low(adapter) | |
client.on("ready", () => { | |
console.log('Olá Mundo') | |
}) | |
client.on("guildCreate", () => { | |
db.set(guild.id, []).write() | |
}) | |
client.on("message", async message => { | |
if(message.author.bot) return; | |
if(message.channel.type === "dm") return; | |
if(!message.content.startsWith(config.prefix)) return; | |
const args = message.content.slice(config.prefix.length).trim().split(/ +/g); | |
const comando = args.shift().toLowerCase(); | |
if(comando === "criar") { | |
db.get(message.guild.id) | |
.push({ | |
id: message.author.id, | |
nick: message.author.username, | |
avatar: message.author.displayAvatarURL | |
}).write() | |
message.channel.send('Perfil criado com sucesso!') | |
} | |
if(comando === "editar"){ | |
if(!args[0])return message.channel.send('Você esqeceu do argumento ') | |
let [novonome] = args | |
db.get(message.guild.id) | |
.find({id: message.author.id}).assign({nick: novonome}).write() | |
message.channel.send('Perfil editado com sucesso!') | |
} | |
if(comando === "apagar"){ | |
db.get(message.guild.id).remove({id: message.author.id}).write() | |
} | |
}); | |
client.login(config.token) |
alguem sabe como criar um comando que nao deixa o usuario criar um perfil no banco de dados se ele ja tiver criado o perfil?
Faça uma verificação no banco de dados, e veja se o usuário já está nele, por exemplo...
// busca o usuário pelo ID do Discord
let user= db.get('Server1').find({id: "1111111111111111"}).value();
// Se o usuário não existe
if (!user) {
// Registra no banco de dados
}
// Se existir passa direto
Espero ter ajudado!
Good coding 🤍
Faça uma verificação no banco de dados, e veja se o usuário já está nele, por exemplo...
// busca o usuário pelo ID do Discord let user= db.get('Server1').find({id: "1111111111111111"}).value(); // Se o usuário não existe if (!user) { // Registra no banco de dados } // Se existir passa diretoEspero ter ajudado!
Good coding 🤍
Ajudou muito obrigado!!
apenas mudei o "server1" por 'message.guild.id' e o "111111111" por 'message.author.id' e funcionou muito bem. Obrigado denovo <3
Por nada ^^
Por nada ^^
Oii denovo kkkkk, eu queria ajuda com mais um problema, logico que se for te atrapalhar não precisa responder, mais se poder eu ficaria mt feliz ^^. BASICAMENTE, EU QUERIA QUE CADA VEZ QUE ENTRASSE OU ALGUEM SAISSE DO SERVIDOR, ELE AUTOMATICAMENTE ATUALIZASSE NO BANCO DE DADOS A QUANTIDADE DE MEMBROS NO SERVIDOR. ATE CONSSEGUI FAZER COM QUE QUANDO ALGUEM ENTRASSE ELE ATUALIZASSE COM ESSE CODIGO.
client.on('message', message => { let server= db.get(message.guild.id).find({nomeServidor: message.guild.name}).value(); if(message.type !== "GUILD_MEMBER_JOIN")return if(!server)return if(server){ if(message.type === "GUILD_MEMBER_JOIN"){ db.get(message.guild.id) .find({nomeServidor: message.guild.name}).assign({membros: message.guild.memberCount}).write() console.log(
A quantidade de membros do servidor: ${message.guild.name} foi atualizado) } } });
JA QUE QUANDO ALGUEM ENTRA NO SERVIDOR A FUNCAO DE MENSSAGE EXIBE UM TYPE = "GUILD_MEMBER_JOIN".
O GRANDE PROBLEMA E QUE A FUNÇAO MESSAGE NAO EXIBE NADA QUANDO UM MEMBRO SAI DO SERVIDOR, AI TENTEI ESSE.
client.on('guildMemberRemove', (member) => { let server= db.get(member.guild.id).find({nomeServidor: member.guild.name}).value(); if(!server)return if(server){ if(member){ db.get(member.guild.id) .find({nomeServidor: member.guild.name}).assign({membros: member.guild.memberCount}).write() console.log(
A quantidade de membros do servidor: ${member.guild.name} foi atualizado) } } });
POREM NAO DEU CERTO, O CODIGO NA DA NENHUM ERRO MAIS TAMBEM NAO ATUALIZA A QUANTIDADE DE MEMBROS E TAMBEM NAO EXIBE NADA. PODE ME AJUDAR?
Bom eu recomendo fortemente você ler as docs do discordJS e entrar no servidor da Discloud lá o suporte é mais rápido e pode ter gente mais disponível.
Resolvendo seu problema hmmmm .... vamos fzr uma modificação bem simples ... ao invés de vc usar o message.type === "GUILD_MEMBER_JOIN" por que não cria um evento novo que nem fez com o guildMemberRemove
?
slg nisso
// Evento de mensagem
client.on('message', message => {
let server = db.get(message.guild.id).find({nomeServidor: message.guild.name}).value();
// if (message.type !== "GUILD_MEMBER_JOIN") return
if (!server) return
/**
if (server) {
if (message.type === "GUILD_MEMBER_JOIN") {
db.get(message.guild.id).find({ nomeServidor: message.guild.name }).assign({ membros: message.guild.memberCount }).write()
console.log(`A quantidade de membros do servidor: ${message.guild.name} foi atualizado`)
}
}
*/
});
// Quando um membro entrar
client.on('guildMemberAdd', (member) => {
let server = db.get(member.guild.id).find({ nomeServidor: member.guild.name }).value();
if (!server) return
if (server){
if (member) {
db.get(member.guild.id).find({ nomeServidor: member.guild.name }).assign({ membros: member.guild.memberCount }).write()
console.log(`A quantidade de membros do servidor: ${member.guild.name} foi atualizado`)
}
}
});
// Quando sair
client.on('guildMemberRemove', (member) => {
let server = db.get(member.guild.id).find({ nomeServidor: member.guild.name }).value();
if (!server) return
if (server){
if (member) {
db.get(member.guild.id).find({ nomeServidor: member.guild.name }).assign({ membros: member.guild.memberCount }).write()
console.log(`A quantidade de membros do servidor: ${member.guild.name} foi atualizado`)
}
}
});
Se mesmo assim não der certo, entre em contato comigo pelo discord (está no meu perfil no github ^^) ou acesse o discord da Discloud.
Good coding 🤍
Bom eu recomendo fortemente você ler as docs do discordJS e entrar no servidor da Discloud lá o suporte é mais rápido e pode ter gente mais disponível.
Resolvendo seu problema hmmmm .... vamos fzr uma modificação bem simples ... ao invés de vc usar o message.type === "GUILD_MEMBER_JOIN" por que não cria um evento novo que nem fez com o
guildMemberRemove
?slg nisso
// Evento de mensagem client.on('message', message => { let server = db.get(message.guild.id).find({nomeServidor: message.guild.name}).value(); // if (message.type !== "GUILD_MEMBER_JOIN") return if (!server) return /** if (server) { if (message.type === "GUILD_MEMBER_JOIN") { db.get(message.guild.id).find({ nomeServidor: message.guild.name }).assign({ membros: message.guild.memberCount }).write() console.log(`A quantidade de membros do servidor: ${message.guild.name} foi atualizado`) } } */ }); // Quando um membro entrar client.on('guildMemberAdd', (member) => { let server = db.get(member.guild.id).find({ nomeServidor: member.guild.name }).value(); if (!server) return if (server){ if (member) { db.get(member.guild.id).find({ nomeServidor: member.guild.name }).assign({ membros: member.guild.memberCount }).write() console.log(`A quantidade de membros do servidor: ${member.guild.name} foi atualizado`) } } }); // Quando sair client.on('guildMemberRemove', (member) => { let server = db.get(member.guild.id).find({ nomeServidor: member.guild.name }).value(); if (!server) return if (server){ if (member) { db.get(member.guild.id).find({ nomeServidor: member.guild.name }).assign({ membros: member.guild.memberCount }).write() console.log(`A quantidade de membros do servidor: ${member.guild.name} foi atualizado`) } } });Se mesmo assim não der certo, entre em contato comigo pelo discord (está no meu perfil no github ^^) ou acesse o discord da Discloud.
Good coding 🤍
Primeiramente muito obrigado mais uma vez por me responder. ^^ Então, eu ja testei esse codigo tambem e por algum motivo simplesmente não funciona, não entendo pois o codigo em si faz sentido, porem ele não retorna nada. Estou ate agora tentando resolver isso porem nada ;-;
Uma boa seria você publicar seu erro no Discord da Discloud ...
@jvjfe