DiscordでIDを使用してメンバーをキックできるようにしたいです。
しかし、ウェブで調べた方法を使ってもエラーが出てしまいます。
どうすればできますか?
使用しているものはdiscord.js v12、Nodejsです。
プログラム
js
1const discord = require('discord.js'); 2const client = new discord.Client(); 3const token = process.env.DISCORD_BOT_TOKEN; 4const prefix = "ad!"; 5 6//起動設定 7client.on('ready', () => { 8 console.log(`Logged in as ${client.user.tag}!`); 9 client.user.setActivity(client.guilds.cache.size + "serversに導入済み | ヘルプメニュー => ad!help", { type: "COMPETING" },{ status: "online" }); 10}); 11 12//Login 13client.login(token); 14 15//Test 16client.on("message", async message => { 17 if (!message.content.startsWith(prefix)) return; //ボットのプレフィックスからメッセージが始まっているか確認 18 const args = message.content 19 .slice(prefix.length) 20 .trim() 21 .split(/ +/g); 22 const command = args.shift().toLowerCase(); 23 if (message.content.match("http") || message.content.match("@everyone") || message.content.match("@here") || message.author.bot || message.author.id == client.user.id) { 24 return; 25 } 26 if (command === "kick") { 27 if (message.guild === null) { 28 message.channel.send("<@!" + message.author.id + ">" , { 29 embed: { 30 color: 0xff0000, 31 title: "????メンバーをキック", 32 description: "❌DMではキックできません" 33 }}); 34 return; 35 } 36 if (!message.member.hasPermission("KICK_MEMBERS")) { 37 return message.channel.send({ 38 embed: { 39 color: 0x7ef5bb, 40 title: "????メンバーをキック", 41 description: "❌キックする権限がありません" 42 } 43 }); 44 } 45 if (message.mentions.members.size == 1) { //メンションがあるかを確認 46 try { 47 let userid = message.mentions.users.first().id; 48 /*let member = message.guild.member(`<@!${userid}>`);*/ 49 const member = message.mentions.members.first(); 50 member.kick(message.author.tag + ": " + args[1]); 51 message.channel.send({embed: { 52 title: "????メンバーをキック", 53 description: "✅<@!" + userid + ">をキックしました。" 54 }}) 55 } catch(e) { 56 message.channel.send({embed: 57 { 58 title: "????メンバーをキック", 59 description: "❌エラー:```" + e + "```" 60 }}) 61 }} else { 62 message.guilds.members.get(args[0]).kick({ 63 reason: message.author.tag + " : " + args[1] 64 }); 65 message.channel.send({embed: { 66 title:"????メンバーをキック", 67 description: "✅<@!" + args[0] + ">をキックしました。" 68 }}); 69 }} 70});
エラー
message.guilds.members.get is not a function
回答2件
あなたの回答
tips
プレビュー