类型错误: ping 不是函数

2024-01-11

我正在尝试制作一个不和谐的机器人来显示我的《我的世界》服务器统计信息和其他内容。快完成了,但是当我执行命令时,它会在终端中出现: TypeError: ping is not a function。这是我的代码:

const {Client, RichEmbed } = require('discord.js')
 
const bot = new Client()
 
const ping = require('minecraft-server-util')
 
const token = 'not gunna tell u my token'

const ip = 'or ip'
 
const PREFIX = '!'
 
bot.on('ready', () =>{
    console.log('Bot has come online.')
})
 
bot.on('message', message =>{
 
    let args = message.content.substring(PREFIX.length).split(' ')
 
    switch(args[0]){
        case 'mc':
 
            ping(ip, parseInt(25565), (error, reponse) =>{
                if(error) throw error
                const Embed = new RichEmbed()
                .setTitle('Server Status')
                .addField('Server IP', reponse.host)
                .addField('Server Version', reponse.version)
                .addField('Online Players', reponse.onlinePlayers)
                .addField('Max Players', reponse.maxPlayers)
                
                message.channel.send(Embed)
            })
        break
 
    }
 
})
 
bot.login(token)

As the docs say https://www.npmjs.com/package/minecraft-server-util, ping is a property该模块的导出:它不是整个导出:

const util = require('minecraft-server-util');
util.ping('play.hypixel.net', { port: 25565 })

对于您的代码,要么解构出ping进口财产:

const { ping } = require('minecraft-server-util')

或者给它一些其他名称,然后调用.ping在导入的对象上:

const util = require('minecraft-server-util');

// ...

util.ping(ip, /* etc */

另外,如果您希望端口为默认的 25565,则根本不需要传递它。该模块还返回一个 Promise,您应该使用它而不是回调形式:

ping(ip)
  .then((response) => {
    // handle response
  })
  .catch((error) => {
    // handle errors
  });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型错误: ping 不是函数 的相关文章

随机推荐

  • JavaFX TableView 滚动

    我的 TableView 包含一些数字数据 当我说通过按钮编辑值时 它将单元格的背景更改为绿色 当没有足够的行使表可滚动时 这种方法很有效 一旦表格变得 或从一开始 可滚动 它就会开始表现得很奇怪 它会更改已编辑项目的背景 但它会更改在向下
  • 每次通过 3G 连接时 UDP 端口都会改变

    我正在使用基于java的UDP套接字与3G模块进行通信 但是收到的数据包的端口 有时是IP地址 每次都会改变 这是非常令人惊讶的 这表明我无法为3G模块分配固定的IP 端口并与其通信 而只能依靠传入的数据包来获取目的地信息 有人能告诉我为什
  • ASP.net core 中的 OData 支持

    既然版本 1 已经发布 那么 ASP net core 现在是否支持 oData 我进行了搜索 但我找不到任何这样或那样的说法 编辑 现在可以在https www nuget org packages Microsoft OData Cor
  • 获取 C 中的时区 GMT 偏移量

    我正在使用标准mktime http linux die net man 3 mktime函数来转动struct tm转化为纪元时间值 这tm字段在本地填充 我需要获取 GMT 的纪元时间 tm has a gmtoff字段允许您为此目的设
  • 1e-9 或 -1e9,哪一个是正确的? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我被分配了
  • 如何在 CMake 中构建具有 2 个不同变量值的程序

    我最近移植了我的Qt项目来自qmake to CMake 我的主程序包含一个值 该值取决于 define指示 我想通过外部指定定义指令CMake并构建同一可执行文件的 3 个不同名称的版本 我该怎么做呢 我见过set target prop
  • 从 Doctrine 查询返回数组,而不是对象 - Symfony2

    我正在使用这个 this gt getDoctrine gt getRepository MyBundle MyEntity gt findAll array Query HYDRATE ARRAY 我认为应该确保它返回一个数组的数组 但它
  • Xcode:收到警告“从枚举类型 UIDeviceOrientation 进行隐式转换”

    完整警告 Implicit conversion from enumeration type UIInterfaceOrientation to different enumeration type UIDeviceOrientation
  • wpf:通过调度程序更新多个控件

    我正在使用 SerialPort 类中的事件侦听器从串行端口读取数据 在我的事件处理程序中 我需要使用通过串行端口传入的 xml 数据来更新窗口中的许多 30 40 控件 我知道我必须使用 myControl Dispatcher Invo
  • 创建镜像后 EC2 实例停止工作

    我对 AWS 完全陌生 我设法拥有一个运行 PHPMyAdmin 的实例 然后我立即创建了一个映像 EBS AMI 并且无法再连接到我的 phpmyadmin 界面 我知道这真的很愚蠢 但我不知道为什么会这样 谢谢 确保服务器上所有需要的服
  • make: *** [ ] 错误 1 ​​错误 [重复]

    这个问题在这里已经有答案了 我正在尝试在 gcc 上编译 Pro C 文件 但收到此错误 make MedLib x o Error 1 这是 make 打印的命令 usr bin gcc g fPIC m64 DSS 64BIT SERV
  • 将后缀附加到 csv 文件(或 SQLite 数据库)中的条目列

    我有一个相对较大的 csv 文件 1 2gb 大到我一台计算机上的 2gb RAM 对于一列中的每个条目 我想附加 1C 以便我可以与另一个数据帧 数据库表连接 合并 如果文件不是太大的话 使用起来会很方便read csv导入到data然后
  • findFragmentById 始终返回 null

    我正在 xml 布局中为我的片段定义一个 ID
  • 拉斐尔 js.沿曲线填充颜色

    我创建了一个圆 可以在其中选择沿圆圆周的两个点 我想填充这两点之间的部分 Demo http jsfiddle net jashwant CDBk6 如果你看到演示 我想填充两点之间的角度 JS function Raphael Rapha
  • Shell 变量扩展 - 使用 env 调用实用程序时的间接寻址

    我试图找出 env 即使用新环境调用 util 举个例子我的环境变量KDEDIRS usr在我当前的环境中 假设我输入 env i KDEDIRS home newkdedir env 这输出KDEDIRS home newkdedir正如
  • 最佳实践 - 将您的应用程序添加到 Android 共享菜单

    我的应用程序通过 TCP 连接发送文件 所有 mime 类型 因此我希望我的应用程序出现在 Android 共享菜单中 我将以下意图过滤器添加到我的 Activity 中AndroidManifest xml
  • Spring Boot AsyncRestTemplate SSLSocketFactory

    在 WebSphere 中部署 Spring Boot 应用程序 由于其 SSL 配置 我们需要显式指定 SSLSocketFactory 以确保应用程序使用 WebSphere 证书而不是默认的 Java 密钥 信任存储 通过 RestT
  • 从rails 3.1升级到rails 3.2时由于模块命名空间中的下划线而出现路由错误

    我们有一个 Rails 应用程序 并且有一个定义为 Api V1 Api V1 2 Api V1 3 等的 API 命名空间 在routes rb中 我们设置了以下内容 namespace api do v1 v1 2 v1 3 lates
  • Sun 提供了符合 XML-Enc 规范的 Java API?

    我正在寻找是否有如何执行 XML Enc 规范http en wikipedia org wiki XML Encryption http en wikipedia org wiki XML Encryption无需使用 Apache Sa
  • 类型错误: ping 不是函数

    我正在尝试制作一个不和谐的机器人来显示我的 我的世界 服务器统计信息和其他内容 快完成了 但是当我执行命令时 它会在终端中出现 TypeError ping is not a function 这是我的代码 const Client Ric