代码之家  ›  专栏  ›  技术社区  ›  Persik

未定义discord js“send”

  •  1
  • Persik  · 技术社区  · 7 年前

    我一直对不一致的javascript有一个问题,当你试图调用“channels.get”时,它会导致“send”变得未定义。下面提供的代码! (代码)

    try{
        message.channels.get(`name`, `mod-logs`).send({embed: {
            "color" 4886754,
            "author": {
                "name": "Command Ran",
                "icon_url": message.author.avatarURL
             },
             "fields": [
                 {
                    "name": `Initiated by user: ${message.author.username}#${message.author.discriminator}`,
                     "value": "**Command Status**: Successful :heavy_check_mark:\n**Mod Status**: Successful :heavy_check_mark:",
                     "inline": true
                 },
                 {
                     "name": `Uptime:`,
                     "value": `${client.uptime / 1000}`,
                     "inline" true
                  }
              ]
    

    (控制台)

    TypeError: Cannot read property 'send' of undefined
    at Object.exports.run (C:\Users\Warriorfoox\Desktop\DiscordBot\Paralyss\commands\uptime.js:22:51)
    at Client.client.on.message (C:\Users\Warriorfoox\Desktop\DiscordBot\Paralyss\index.js:21:19)
    at emitOne (events.js:116:13)
    at Client.emit (events.js:211:7)
    at MessageCreateHandler.handle (C:\Users\Warriorfoox\Desktop\DiscordBot\Paralyss\node_modules\discord.js\src\client\websocket\packets\handlers\MessageCreate.js:9:34)
    at WebSocketConnection.onPacket (C:\Users\Warriorfoox\Desktop\DiscordBot\Paralyss\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (C:\Users\Warriorfoox\Desktop\DiscordBot\Paralyss\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (C:\Users\Warriorfoox\Desktop\DiscordBot\Paralyss\node_modules\ws\lib\event-target.js:120:16)
    at emitOne (events.js:116:13)
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   Saddy    7 年前
    message.channels.get(`name`, `mod-logs`)
    

    是错误的。试着找到帮会并找到它。

    message.member.guild.channels.find()
    
        2
  •  0
  •   JaredCBarnes    7 年前

    你的问题出在 message.channels.get('name', 'CHANNEL NAME') .

    你可以用 message.client.channels.get('CHANNEL ID') 或者使用频道名称获取, message.guild.channels.find('name', 'CHANNEL NAME') .

    如果它是另一个公会的一个频道,你可以使用 client.user.guilds.get('GUILD ID').channels.find('name', 'CHANNEL NAME');

    您可以在以下网址找到有关此的完整文档: discord.js.org