Discord.js Ping命令

时间:2020-08-14 10:46:05

标签: javascript node.js discord discord.js

我试图为我的机器人发出ping命令,这是我的代码

client.on('message', message => {
  if (message.content === '+ping') {  
    message.channel.send(`?Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
  }
});

但是我最终遇到以下错误

C:\Users\ujjwa\Desktop\All Disc\Test all\index.js:236
    message.channel.send(`?Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
                                     ^

ReferenceError: m is not defined
    at Client.<anonymous> (C:\Users\lol\Desktop\All Disc\Test all\index.js:236:42)
    at Client.emit (events.js:327:22)
    at MessageCreateAction.handle (C:\Users\lol\Desktop\All Disc\Test all\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\lol\Desktop\All Disc\Test all\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\lol\Desktop\All Disc\Test all\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
    at WebSocketShard.onPacket (C:\Users\lol\Desktop\All Disc\Test all\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (C:\Users\lol\Desktop\All Disc\Test all\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (C:\Users\lol\Desktop\All Disc\Test all\node_modules\ws\lib\event-target.js:125:16)
    at WebSocket.emit (events.js:315:20)
    at Receiver.receiverOnMessage (C:\Users\lol\Desktop\All Disc\Test all\node_modules\ws\lib\websocket.js:797:20)

你能帮我吗?

8 个答案:

答案 0 :(得分:3)

您需要使用Date.now() - message.createdTimestamp来获得延迟。

client.on('message', message => {
  if (message.content === '+ping') {  
    message.channel.send(`?Latency is ${Date.now() - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
  }
});

答案 1 :(得分:0)

我用了这个

 module.exports = {
      name: "ping",
      description: "Pinging the bot",
      execute(client, message) {
         message.channel.send(`?Latency is ${Date.now() - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
      }
      }
    };

使用Date.now()-message.createdTimestamp

答案 2 :(得分:0)

我使用它作为我的 Ping 命令(抱歉,如果我犯了任何错误,我在过去 2 天内刚刚学习了 JavaScript)

module.exports={
    name:'ping',
    description: "Command ini digunakan untuk Ping",
    execute(message, args){
        message.channel.send(`?Latency is ${Date.now() - message.createdTimestamp}ms`);
        }
      };

答案 3 :(得分:0)

你需要使用 .then() 来获得 m:

client.on('message', message => {
  if (message.content === '+ping') {  
message.channel.send('pinging').then(m => {
    m.edit(`?Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
  });
}
});

答案 4 :(得分:0)

你需要做的

client.on('message', message => {
  if (message.content === '+ping') {  
    message.channel.send(`?Latency is ${Date.now() - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
  }
});

答案 5 :(得分:-1)

client.on('message', message => {
  if (message.content === prefix + 'ping') {
  message.channel.send('Loading data').then (async (msg) =>{
    msg.delete()
    message.channel.send(`?Latency is ${msg.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms`);
  })
  }
});

答案 6 :(得分:-1)

我使用的代码现在是日期,并且消息创建了时间戳和api ping。

module.exports = {
  name: "ping",
  category: "info",
  description: "Get bot ping :/",
  usage: "ping",
  run: (client, message) => {
    message.channel.send(`**:ping_pong:Latency is ${Date.now() - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms.:ping_pong:**`);
  }
  
}

答案 7 :(得分:-1)

对我来说,这似乎对我有用!

module.exports = {
    name: 'ping',
    discription: 'discription',
    execute(message, args) {
        message.channel.send(`? | Latency is: **${Date.now() - message.createdTimestamp}ms.**`);
    },
};