-
-
Save pedroricardo/10ae51a653a8b1a286e5766f61f41679 to your computer and use it in GitHub Desktop.
const Discord = require("discord.js"); //baixar a lib | |
const client = new Discord.Client(); | |
const config = require("./config.json"); | |
client.on("ready", () => { | |
console.log('Olá mundo') | |
}) | |
client.on('raw', async dados => { | |
if(dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return | |
if(dados.d.message_id != "566982078625873931") return | |
let servidor = client.guilds.get("558703169903788057") | |
let membro = servidor.members.get(dados.d.user_id) | |
let cargo1 = servidor.roles.get('566986334242340864'), | |
cargo2 = servidor.roles.get('566986370363686943'), | |
cargo3 = servidor.roles.get('566986398989549632') | |
if(dados.t === "MESSAGE_REACTION_ADD"){ | |
if(dados.d.emoji.id === "566966275578789888"){ | |
if(membro.roles.has(cargo1)) return | |
membro.addRole(cargo1) | |
}else if(dados.d.emoji.name === "👌"){ | |
if(membro.roles.has(cargo2)) return | |
membro.addRole(cargo2) | |
}else if(dados.d.emoji.id === "566966738013388821"){ | |
if(membro.roles.has(cargo3)) return | |
membro.addRole(cargo3) | |
} | |
} | |
if(dados.t === "MESSAGE_REACTION_REMOVE"){ | |
if(dados.d.emoji.id === "566966275578789888"){ | |
if(membro.roles.has(cargo1)) return | |
membro.removeRole(cargo1) | |
}else if(dados.d.emoji.name === "👌"){ | |
if(membro.roles.has(cargo2)) return | |
membro.removeRole(cargo2) | |
}else if(dados.d.emoji.id === "566966738013388821"){ | |
if(membro.roles.has(cargo3)) return | |
membro.removeRole(cargo3) | |
} | |
} | |
}) | |
client.login(config.token); |
Eu suspeitei disso mas não fazia sentido para mim. Ainda estou sem entender o motivo do User ID estar mudando.
Olhei na documentação e esta tudo certo, você pode tirar a verificação de ID, deve funcionar mas ai qualquer um ira poder clicar na reação.O pior é que eu já tirei. O usuário sem ADM continua impossibilitado de reagir. Se um ADM reagir a mensagem, as trocas de role são aplicadas pra quem executou o comando.
Basicamente tirar a verificaçao por id permite outros usuários reagirem a mensagem, mas não retira a necessidade da permissão de adm :s
Perdão, na verdade esse deve ser o resultado de outro teste. Quando tiro a verificação por ID a reação é coletada automaticamente sem clicar em nada.
Austen digitou comando para alterar cargo em respostas-0
Austen irá tentar reagir...
User ID: 709959678020550760
Author ID: 627660912404201474
Austen reagiu a um emote..
Austen Desistiu e está a salvo novamente... bundão!
Isso sem adm.
Perdão, na verdade esse deve ser o resultado de outro teste. Quando tiro a verificação por ID a reação é coletada automaticamente sem clicar em nada.
Austen digitou comando para alterar cargo em respostas-0 Austen irá tentar reagir... User ID: 709959678020550760 Author ID: 627660912404201474 Austen reagiu a um emote.. Austen Desistiu e está a salvo novamente... bundão!
Isso sem adm.
Qual versao do Discord.js vc esta usando ? V11 ou V12 ?
Qual versao do Discord.js vc esta usando ? V11 ou V12 ?
V12
Qual versao do Discord.js vc esta usando ? V11 ou V12 ?
V12
Entendi, eu estou usando o V11 ainda.
Rodei o codigo aqui e não obtive problemas, não descobri ainda porque o numero do User ID esta mudando quando não é um adm.
Se vc descobrir o pq o numero do User ID esta sendo alterado vc mata a charada.
Pela documentação do V12 não era para dar erro, tendo em vista que os parametros continuam os mesmos.
* Handles an incoming reaction for possible collection.
* @param {MessageReaction} reaction The reaction to possibly collect
* @returns {?Snowflake|string}
* @private
*/
collect(reaction) {
/**
* Emitted whenever a reaction is collected.
* @event ReactionCollector#collect
* @param {MessageReaction} reaction The reaction that was collected
* @param {User} user The user that added the reaction
*/
if (reaction.message.id !== this.message.id) return null;
return ReactionCollector.key(reaction);
}
Entendi, eu estou usando o V11 ainda.
Rodei o codigo aqui e não obtive problemas, não descobri ainda porque o numero do User ID esta mudando quando não é um adm.
Se vc descobrir o pq o numero do User ID esta sendo alterado vc mata a charada.Pela documentação do V12 não era para dar erro, tendo em vista que os parametros continuam os mesmos.
* Handles an incoming reaction for possible collection. * @param {MessageReaction} reaction The reaction to possibly collect * @returns {?Snowflake|string} * @private */ collect(reaction) { /** * Emitted whenever a reaction is collected. * @event ReactionCollector#collect * @param {MessageReaction} reaction The reaction that was collected * @param {User} user The user that added the reaction */ if (reaction.message.id !== this.message.id) return null; return ReactionCollector.key(reaction); }
Então, to tentando desvendar aqui, mas logo depois da declaração da constante filter, o ID do usuário já é definido incorretamente. Não muda na verdade. Ele coleta o user.id do bot.
709959678020550760 é o id do bot
627660912404201474 é o id do Austen
por algum motivo, ele só pega o user.id certo quando o austen executa o comando como ADM
(então o problema não é permissão, é a coleta dessa informação).
por algum motivo, ele só pega o user.id certo quando o austen executa o comando como ADM
(então o problema não é permissão, é a coleta dessa informação).
Se é o ID do bot coloque como condição do filtro então, acho q deve resolver:
const filter = (reaction, user) => return validReactions.includes(reaction.emoji.name) && user.id === author.id && !user.bot;
Você pode tentar com o seu id do bot explicitamente tb
const filter = (reaction, user) => return validReactions.includes(reaction.emoji.name) && user.id === author.id && user.id !== '709959678020550760'
por algum motivo, ele só pega o user.id certo quando o austen executa o comando como ADM
(então o problema não é permissão, é a coleta dessa informação).Se é o ID do bot coloque como condição do filtro então, acho q deve resolver:
const filter = (reaction, user) => return validReactions.includes(reaction.emoji.name) && user.id === author.id && !user.bot;Você pode tentar com o seu id do bot explicitamente tb
const filter = (reaction, user) => return validReactions.includes(reaction.emoji.name) && user.id === author.id && user.id !== '709959678020550760'
Bicho, não funciona de jeito nenhum, mas talvez seja algo com o filter.
Eu peguei uma base simples de reaction response pra testar e teve o mesmo comportamento de não deixar user sem adm reagir. Eu nem alterei nada e nem coloquei execuções depois da reação, só retorno simples. Muito bizarro. Se liga no código:
const Discord = require('discord.js');
module.exports = {
name: "teste11",
category: "teste",
description: "teste",
usage: "=teste",
run: async (client, message, args) => {
let embed = new Discord.MessageEmbed()
.setDescription(`Escolha o seu emprego, clicando no emoji correspondente.\n\n💻 = Programador\n🖌️ = Designer`)
.setColor('#03fc7b')
message.channel.send(embed).then(msg => {
msg.react('💻').then(() => msg.react('🖌️'))
const filter = (reaction, user) => { // Criando um filtro para quem clicou no emoji
return ['💻', '🖌️'].includes(reaction.emoji.name) && user.id === message.author.id;
};
msg.awaitReactions(filter, { max: 1, time: 60000, errors: ['time']})
.then(collected => {
const reaction = collected.first();
if (reaction.emoji.name === '💻') {
message.reply('Tchau');
}
if (reaction.emoji.name === '🖌️') {
message.reply('Oi')
}
})
.catch(collected => {
message.reply('o tempo para escolher excedeu! Tente novamente.');
});
})
}
}
por algum motivo, ele só pega o user.id certo quando o austen executa o comando como ADM
(então o problema não é permissão, é a coleta dessa informação).
Esse codigo q vc pegou é da versão 12 ja?
Pelo q estou vendo esse erro ta sendo gerado na v12.
Mesmo com esse código vc n consegue capturar a reação?
const filter = (reaction, user) => return validReactions.includes(reaction.emoji.name) && user.id === author.id && user.id !== '709959678020550760'
por algum motivo, ele só pega o user.id certo quando o austen executa o comando como ADM
(então o problema não é permissão, é a coleta dessa informação).Esse codigo q vc pegou é da versão 12 ja?
Pelo q estou vendo esse erro ta sendo gerado na v12.Mesmo com esse código vc n consegue capturar a reação?
const filter = (reaction, user) => return validReactions.includes(reaction.emoji.name) && user.id === author.id && user.id !== '709959678020550760'
Cara, consegui encontrar o erro, super bizarro.
Tá na permissão ver histórico de mensagens.
Isso pra esse código simples, vou tentar resolver usando aquela outra base e já atualizo.
Cara, consegui encontrar o erro, super bizarro.
Tá na permissão ver histórico de mensagens.Isso pra esse código simples, vou tentar resolver usando aquela outra base e já atualizo.
o bot não tinha acesso ao historico de mensagens ou é o usuário que tinha essa restrição ?
Cara, era isso mesmo; to triste pa carai KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
Era a permissão de ver historico de mensagens que tava negada pro meu user de teste. Isso é estranho pq essa permissão negada impede que o usuário veja mensagens anteriores à data que ele teve acesso ao canal e o bot manda a mensagem na hora...
Esquisito demais, mas era por isso. O código rejeita reações de usuários sem essa permissão.
Obrigado por ter tentado me ajudar e obrigado ainda mais por ter gastado seu tempo com essa palhaçada ASUASHSAUHASUAS
Cara, era isso mesmo; to triste pa carai KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
Era a permissão de ver historico de mensagens que tava negada pro meu user de teste. Isso é estranho pq essa permissão negada impede que o usuário veja mensagens anteriores à data que ele teve acesso ao canal e o bot manda a mensagem na hora...
Esquisito demais, mas era por isso. O código rejeita reações de usuários sem essa permissão.
Obrigado por ter tentado me ajudar e obrigado ainda mais por ter gastado seu tempo com essa palhaçada ASUASHSAUHASUAS
Faz esse comando pra handler
Pode criar um comando
cargo
que exibe uma mensagem para ser reagida
Ou usar meu código como base para criar seu próprio handlerconst { RichEmbed } = require("discord.js"); const { promptMessage } = require("<diretorio do arquivo/funcoes.js>"); const opcoes = ["🌎","🚀"] // Supondo que tenha cargo "mundo" e "foguete" exports.help = { name: "cargo" } exports.run = async (client, message, args) => { const embed = new RichEmbed(); embed.setTitle("**CARGOS**"); embed.setColor("RANDOM"); embed.setDescription("Escolha um cargo clicando na reação correspondente:\n") embed.addField("**Cargos**","🌎 - Mundo \n🚀 - Foguete"); embed.setTimestamp(); //Envia mensagem richEmbed const m = await message.channel.send(embed); //Adiciona reações e aguarda 30 segundos por uma escolha do usuário const cargoEscolhido = await promptMessage(m, message.author, 30, opcoes); if (cargoEscolhido === `🚀`){ var chave = "Foguete"; }else if (cargoEscolhido === `🌎`) { var chave = "Mundo" } else { embed.addField("**CARGO NÃO DEFINIDO**", "Use o comando novamente."); m.edit(embed); message.delete(); // Apaga mensagem do usuario (comando) para um chat mais limpo return m.delete(15000) // Apaga mensagem enviada (embed) }; // retorna nada para caso de emoji diferente // buscando cargo por nome (também pode buscar por ID) var cargo = await message.guild.roles.find(role => role.name.toLowerCase() === chave.toLowerCase()); // buscando membro var member = await message.guild.members.find(member => member.id === message.author.id); if (cargo == null) { // Caso não exista o cargo com o valor de chave passado embed.addField(`CARGO ${chave.toUpperCase()} NAO ENCONTRADO`) m.edit(embed) message.delete() return m.delete(15000) } // se o membro ja tiver o cargo selecionado, apague o mesmo if (member.roles.some(x => x.name === cargo.name)) { member.removeRole(cargo.id) .then(member => console.log(`${member.user.username} removeu o cargo ${cargo.name}`)) .catch(err => console.log(err)); embed.addField("**\nREMOVIDO**", `${member.user.username} removeu o cargo ${cargo.name}\n` + `Use o comando \`!cargo\` novamente para adicionar ou remover outro cargo.`); } // caso contrario, adicione cargo selecionado else { member.addRole(cargo.id) .then(member => { var nome = member.user.username; console.log(`${nome} adicionou o cargo ${chave}`); }) .catch(err => console.error); embed.addField("**\nADICIONADO**", `${member.user.username} adicionou o cargo ${cargo.name}\n` + `Use o comando \`!cargo\` novamente para adicionar ou remover outro cargo.`); } m.edit(embed); message.delete(); m.delete(40000); return } // fim exports.runArquivo funcoes.js
module.exports = { promptMessage: async function (message, author, time, validReactions) { // Tempo em segundos time *= 1000; // Reage com cada emoji enviado como parametro for (const reaction of validReactions) await message.react(reaction); // Permite reações apenas do autor da mensagem, // Filtra apenas emojis enviados pelo parametro. const filter = (reaction, user) => validReactions.includes(reaction.emoji.name) && user.id === author.id; // Aguarda reação do usuário return message .awaitReactions(filter, { max: 1, time: time}) .then(collected => collected.first() && collected.first().emoji.name); } } //fim module.exports
tentei usar esse codigo mas fica dando esse erro: (node:9404) UnhandledPromiseRejectionWarning: TypeError [INVALID_TYPE]: Supplied options is not an object.
at Message.delete (E:\bagbot\node_modules\discord.js\src\structures\Message.js:501:44)
at Object.exports.run (E:\bagbot\comandos\cargo.js:33:24)
(node:9404) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:9404) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
alguem sabe como arrumar esse comando para versão 12?
O meu aparece colocar o cargo mas não o retira
gente o meu codico da erro diz que "client is not defined" e depois da uns comandos estranhos ai eu nao entendo o que se passa
const Discord = require('discord.js');
const bot = new Discord.Client();
const token = 'NzY3Mzk3OTkxMTA2ODcxMjk2.X4xVEg.NfIqTrp8Sy6-xkkkQlwUR0YFBnI';
const config = require('./config.json');
bot.login(token);
bot.on ('ready', () => {
console.log('estou pornto')
})
bot.on('message', msg =>{
if (msg.content === 'odrabot') {
msg.reply('https://tenor.com/view/scrubs-im-going-to-kill-you-gif-3468039')
}
})
bot.on('raw', async dados => {
if(dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return
if(dados.d.message_id != "767411280558161960") return
let servidor =client.guilds.get("766720116716077108")
let membro = servidor.members.get(dados.d.user_id)
let vermelho = servidor.roles.get('766737145301172264'),
azul = servidor.roles.get('766737043610140712'),
verde = servidor.roles.get('766737106550390794')
if(dados.t === "MESSAGE_REACTION_ADD"){
if(dados.d.emoji.name === "🔴"){
if(membro.roles.has(vermelho)) return
membro.addRole(vermelho)
}else if(dados.d.emoji.name === "🔵"){
if(membro.roles.has(azul)) return
membro.addRole(azul)
}else if(dados.d.emoji.name === "🟢"){
if(membro.roles.has(verde)) return
membro.addRole(verde)
}
}
if(dados.t === "MESSAGE_REACTION_REMOVE"){
if(dados.d.emoji.name === "🔴"){
if(membro.roles.has(vermelho)) return
membro.addRole(vermelho)
}else if(dados.d.emoji.name === "🔵"){
if(membro.roles.has(azul)) return
membro.addRole(azul)
}else if(dados.d.emoji.name === "🟢"){
if(membro.roles.has(verde)) return
membro.addRole(verde)
}
}
})
bot.login(config.token);
gente o meu codico da erro diz que "client is not defined" e depois da uns comandos estranhos ai eu nao entendo o que se passa
const Discord = require('discord.js');
const bot = new Discord.Client();
const token = 'NzY3Mzk3OTkxMTA2ODcxMjk2.X4xVEg.NfIqTrp8Sy6-xkkkQlwUR0YFBnI';
const config = require('./config.json');
bot.login(token);
bot.on ('ready', () => {
console.log('estou pornto')
})bot.on('message', msg =>{
if (msg.content === 'odrabot') {
msg.reply('https://tenor.com/view/scrubs-im-going-to-kill-you-gif-3468039')
}
})bot.on('raw', async dados => {
if(dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return
if(dados.d.message_id != "767411280558161960") return
Você instanciou o Discord.Client( ) como "bot", basta renomea-lo...
const client = new Discord.Client();
ou usar o nome que você usou na declaração.
let servidor = bot.guilds.get("766720116716077108"); ✔️
let servidor = client.guilds.get("766720116716077108"); ❌
tentei usar esse codigo mas fica dando esse erro: (node:9404) UnhandledPromiseRejectionWarning: TypeError [INVALID_TYPE]: Supplied options is not an object.
at Message.delete (E:\bagbot\node_modules\discord.js\src\structures\Message.js:501:44)
at Object.exports.run (E:\bagbot\comandos\cargo.js:33:24)
(node:9404) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:9404) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Pode ser que o seu bot esteja tentando apagar uma mensagem que foi apagada manualmente ou que esta mensagem tenha mais de 15 dias (não é o caso).
Se você não quer que o bot apague as mensagens basta remover as linhas que fazem delete( )
message.delete( );
m.delete( );
gente o meu codico da erro diz que "client is not defined" e depois da uns comandos estranhos ai eu nao entendo o que se passa
const Discord = require('discord.js');
const bot = new Discord.Client();
const token = 'NzY3Mzk3OTkxMTA2ODcxMjk2.X4xVEg.NfIqTrp8Sy6-xkkkQlwUR0YFBnI';
const config = require('./config.json');
bot.login(token);
bot.on ('ready', () => {
console.log('estou pornto')
})
bot.on('message', msg =>{
if (msg.content === 'odrabot') {
msg.reply('https://tenor.com/view/scrubs-im-going-to-kill-you-gif-3468039')
}
})
bot.on('raw', async dados => {
if(dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return
if(dados.d.message_id != "767411280558161960") returnVocê instanciou o Discord.Client( ) como "bot", basta renomea-lo...
const client = new Discord.Client();
ou usar o nome que você usou na declaração.
let servidor = bot.guilds.get("766720116716077108"); ✔️ let servidor = client.guilds.get("766720116716077108"); ❌
ja troquei mas nao vai se modar diz sempre: "client.guilds.get is not a function" ou "bot.guilds.get is not a function
"(node:4128) UnhandledPromiseRejectionWarning: TypeError: bot.guilds.get is not a function
at Client. (C:\Users\admin\Desktop\bot\index.js:25:31)
at Client.emit (events.js:315:20)
at WebSocketShard.onMessage (C:\Users\admin\Desktop\bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:295:27)
at WebSocket.onMessage (C:\Users\admin\Desktop\bot\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (C:\Users\admin\Desktop\bot\node_modules\ws\lib\websocket.js:797:20)
at Receiver.emit (events.js:315:20)
at Receiver.dataMessage (C:\Users\admin\Desktop\bot\node_modules\ws\lib\receiver.js:437:14)
at Receiver.getData (C:\Users\admin\Desktop\bot\node_modules\ws\lib\receiver.js:367:17)
at Receiver.startLoop (C:\Users\admin\Desktop\bot\node_modules\ws\lib\receiver.js:143:22)
(node:4128) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:4128) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code." repete esta mensagem 4 vezes
Queria colocar uma resposta automática quando o usuário usa uma tal reação. Pode me ajudar?
Estou fazendo no Repl.it
esta com esse erro :
UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:1989) UnhandledPromiseRejectionWarning: TypeError: client.guilds.get is not a function
(node:1989) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)
mas ele e da repl.it ou nao
pq eu queria dele
Esta dando error esse code pra mim --> "TypeError: Cannot read property 'members' of undefined"
é a versão antiga da discord.js '-'
Queria colocar uma resposta automática quando o usuário usa uma tal reação. Pode me ajudar?
Qual seria a versão da sua biblioteca Discord.Js ?
gente o meu codico da erro diz que "client is not defined" e depois da uns comandos estranhos ai eu nao entendo o que se passa
const Discord = require('discord.js');
const bot = new Discord.Client();
const token = 'NzY3Mzk3OTkxMTA2ODcxMjk2.X4xVEg.NfIqTrp8Sy6-xkkkQlwUR0YFBnI';
const config = require('./config.json');
bot.login(token);
bot.on ('ready', () => {
console.log('estou pornto')
})
bot.on('message', msg =>{
if (msg.content === 'odrabot') {
msg.reply('https://tenor.com/view/scrubs-im-going-to-kill-you-gif-3468039')
}
})
bot.on('raw', async dados => {
if(dados.t !== "MESSAGE_REACTION_ADD" && dados.t !== "MESSAGE_REACTION_REMOVE") return
if(dados.d.message_id != "767411280558161960") returnVocê instanciou o Discord.Client( ) como "bot", basta renomea-lo...
const client = new Discord.Client();
ou usar o nome que você usou na declaração.
let servidor = bot.guilds.get("766720116716077108"); ✔️ let servidor = client.guilds.get("766720116716077108"); ❌
ja troquei mas nao vai se modar diz sempre: "client.guilds.get is not a function" ou "bot.guilds.get is not a function
"(node:4128) UnhandledPromiseRejectionWarning: TypeError: bot.guilds.get is not a function
at Client. (C:\Users\admin\Desktop\bot\index.js:25:31)
at Client.emit (events.js:315:20)
at WebSocketShard.onMessage (C:\Users\admin\Desktop\bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:295:27)
at WebSocket.onMessage (C:\Users\admin\Desktop\bot\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (C:\Users\admin\Desktop\bot\node_modules\ws\lib\websocket.js:797:20)
at Receiver.emit (events.js:315:20)
at Receiver.dataMessage (C:\Users\admin\Desktop\bot\node_modules\ws\lib\receiver.js:437:14)
at Receiver.getData (C:\Users\admin\Desktop\bot\node_modules\ws\lib\receiver.js:367:17)
at Receiver.startLoop (C:\Users\admin\Desktop\bot\node_modules\ws\lib\receiver.js:143:22)
(node:4128) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:4128) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code." repete esta mensagem 4 vezes
tente client.guilds.cache.get() ou bot.guilds.cache.get()
O meu está dando esse erro, alguém sabe como resolve?
(node:3637) UnhandledPromiseRejectionWarning: TypeError: membro.removeRole is not a function
(node:3637) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async > function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled > promise rejection, use the CLI flag--unhandled-rejections=strict
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode).(rejection id: 1)
(node:3637) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
O meu está dando esse erro, alguém sabe como resolve?
(node:3637) UnhandledPromiseRejectionWarning: TypeError: membro.removeRole is not a function
Então amigo. O código que eu escrevi foi baseado na versão 11 da livraria DIscord.js. Você precisa adaptar o código para a versão que você esteja usando que, imagino eu, ser a versão 12.
Veja, o erro está dizendo "membro.removeRole" não é uma função. Se você olhar na documentação da v12, irá notar que agora, o método está dentro da propriedade roles de um member (não mais diretamente do member) e que este método agora é chamado de remove e é este o método que você deve usar para remover roles na v12. Logo o código correto, segundo a livraria na versão 12, deveria ser:
membro.roles.remove(role, [motivo])
O meu está dando esse erro, alguém sabe como resolve?
(node:3637) UnhandledPromiseRejectionWarning: TypeError: membro.removeRole is not a function
Então amigo. O código que eu escrevi foi baseado na versão 11 da livraria DIscord.js. Você precisa adaptar o código para a versão que você esteja usando que, imagino eu, ser a versão 12.
Veja, o erro está dizendo "membro.removeRole" não é uma função. Se você olhar na documentação da v12, irá notar que agora, o método está dentro da propriedade roles de um member (não mais diretamente do member) e que este método agora é chamado de remove e é este o método que você deve usar para remover roles na v12. Logo o código correto, segundo a livraria na versão 12, deveria ser:
membro.roles.remove(role, [motivo])
Ahhh, muito obrigado!! 😁
So uma pergunta, eu coloco isso na Index ou crio uma pasta e de registro.js
aí eu boto lá?
O pior é que eu já tirei. O usuário sem ADM continua impossibilitado de reagir. Se um ADM reagir a mensagem, as trocas de role são aplicadas pra quem executou o comando.
Basicamente tirar a verificaçao por id permite outros usuários reagirem a mensagem, mas não retira a necessidade da permissão de adm :s