當我嘗試使用機器人踢某人時,我讓它不斷出錯。我按照 CodeLyons 關于禁止和踢球的教程進行操作。這是他的 2020 年不和諧機器人播放串列。這是不斷出現的錯誤:
(節點:5108) DeprecationWarning:訊息事件已被棄用。改用 messageCreate (node --trace-deprecation ...用于顯示警告的創建位置) /home/ayan/Desktop/DiscordBot/node_modules/discord.js/src/rest/RequestHandler.js:350 throw new DiscordAPIError(data, res.status, request); ^
DiscordAPIError:在 processTicksAndRejections (node:internal/process/task_queues:96:5) 的 RequestHandler.execute (/home/ayan/Desktop/DiscordBot/node_modules/discord.js/src/rest/RequestHandler.js:350:13) 缺少權限) 在異步 GuildMemberManager.kick (/home/ayan/Desktop/DiscordBot/node_modules) 的異步 RequestHandler.push (/home/ayan/Desktop/DiscordBot/node_modules/discord.js/src/rest/RequestHandler.js:51:14) /discord.js/src/managers/GuildMemberManager.js:363:5) {方法:'洗掉',路徑:'/guilds/927169002294345758/members/895937895456735233',代碼:50013,httpStatus:403,requestData:{json:未定義,檔案:[] } }
我的代碼:
主.js:
const Discord = require('discord.js');
const prefix = '!';
const client = new Discord.Client({
intents: [ Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_MESSAGES ]
});
const fs = require('fs');
client.commands = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
}
client.once('ready', () => {
console.log('Chilly is online!');
});
client.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).split(/ /);
const command = args.shift().toLowerCase();
if (command === 'ping') {
client.commands.get('ping').execute(message, args);
} else if (command === 'kick') {
client.commands.get('kick').execute(message, args);
} else if (command === 'ban') {
client.commands.get('ban').execute(message, args);
}
});
client.login('***********************************');
踢.js:
module.exports = {
name: "kick",
description: "This command kicks a member!",
execute(message, args) {
const member = message.mentions.users.first();
//if (message.member.roles.cache.has('927171204371079208')) {
if (member) {
const memberTarget = message.guild.members.cache.get(member.id);
memberTarget.kick();
message.channel.send("User has been kicked");
} else {
message.channel.send("You couldn't kick that member");
}
//} else {
//message.channel.send("Sorry you don't have the right permissions to send this message");
//}
}
}
額外資訊:庫:discord.js nodejs 版本:16.13
uj5u.com熱心網友回復:
你的代碼看起來不錯。
該錯誤意味著該機器人沒有KICK_MEMBERS權限,您可以通過授予機器人管理員或KICK_MEMBERS權限來解決此問題。這也可能意味著機器人無法踢出成員,因為他們是所有者和/或高于機器人角色
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/409231.html
標籤:
上一篇:Drupal通過發布Api呼叫創建節點失敗并顯示訊息“無法確定物體型別捆綁:\\u0022type\\u0022欄位丟失。”}
