簡體   English   中英

無法讀取未定義的屬性(讀取“發送”)(Discord.js v13)

[英]Cannot read properties of undefined (reading 'send') (Discord.js v13)

我一直在嘗試為我的機器人制作一個 leaveserver 代碼,但我總是收到錯誤消息Cannot read properties of undefined (reading 'send')我真的很想知道為什么它總是說錯誤消息! 請幫我! 謝謝!

const Discord = require("discord.js")
const rgx = /^(?:<@!?)?(\d+)>?$/;

var self = this

const OWNER_ID = require("../../config.json").OWNER_ID;
module.exports = {
  name: "leaveserver",
  description: "leavs a server",
  run: async (client, message, args) => {
    if (!OWNER_ID)
      return message.channel.send("This command is Owner Only")},
      
async run(message, args) {
    const guildId = args[0];
    if (!rgx.test(guildId))
    return message.channel.send("Please Provide a valid server id!")
    const guild = message.client.guild.cache.get(guildId);
    if (!guild) return message.channel.send(message, 0, 'Unable to find server, please check the provided ID');
    await guild.leave();
    const embed = new MessageEmbed()
      .setTitle('Leave Guild')
      .setDescription(`I have successfully left **${guild.name}**.`)
      .setFooter(message.member.displayName,  message.author.displayAvatarURL({ dynamic: true }))
      .setTimestamp()
      .setColor(message.guild.me.displayHexColor);
    message.channel.send({embeds: [embed]});
  } 
}

試試這個代碼

const {
    MessageEmbed
} = require("discord.js")
const rgx = /^(?:<@!?)?(\d+)>?$/;
const OWNER_ID = require("../../config.json").OWNER_ID;

module.exports = {
    name: "leaveserver",
    description: "leaves a server",
    run: async (client, message, args) => {
        const guildId = args[0];
        const guild = message.client.guilds.cache.get(guildId);

        if (!OWNER_ID) return message.channel.send("This command is Owner Only");

        if (!rgx.test(guildId)) return message.channel.send("Please Provide a valid server id!")
        if (!guild) return message.channel.send(message, 0, 'Unable to find server, please check the provided ID');

        await guild.leave();
        
        const embed = new MessageEmbed()
            .setTitle('Leave Guild')
            .setDescription(`I have successfully left **${guild.name}**.`)
            .setFooter({
                text: message.member.displayName,
                iconURL: message.author.displayAvatarURL({
                    dynamic: true
                })
            })
            .setTimestamp()
            .setColor(message.guild.me.displayHexColor)
        message.channel.send({
            embeds: [embed]
        })
    }
}

刪除了重復的async run(message, args) {

嘗試這樣做:

const client = new Discord.Client({intents:
["GUILDS", "GUILD_MESSAGES"]});

client.on("message" , msg => {

   await guild.leave();
    const embed = new MessageEmbed()
      .setTitle('Leave Guild')
      .setDescription(`I have successfully left **${guild.name}**.`)
      .setFooter(msg.member.displayName,  msg.author.displayAvatarURL({ dynamic: true }))
      .setTimestamp()
      .setColor(msg.guild.me.displayHexColor);
    msg.channel.send({embeds: [embed]});
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM