You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

discord.js调用gametracker-scraper查询服务器人数返回[object Object]求助

问题原因

调用gametracker-scraper的get方法返回的是结构化对象,你直接将对象和字符串拼接时,JS会自动调用对象的toString()方法,最终输出就是[object Object]。

解决方法

方式1:查看完整对象结构

如果不清楚返回的对象包含哪些字段,可以先转成格式化的JSON字符串输出,确定你需要使用的字段:

// 建议将require语句提到脚本顶部,不要放在case分支内重复调用
const gametracker = require('gametracker-scraper')

// ... 你的指令处理逻辑
case 'info':
  async function output() {
    let info = await gametracker.get('你的GameTracker服务器链接')
    message.channel.send(`Our Server Info:\n\`\`\`json\n${JSON.stringify(info, null, 2)}\n\`\`\``)
  }
  output()
  break

方式2:自定义排版输出

该模块返回的对象默认包含服务器名称、在线人数、最大人数、当前地图、IP等字段,你可以直接提取字段拼接成易读的消息:

async function output() {
  let info = await gametracker.get('你的GameTracker服务器链接')
  message.channel.send(`📊 服务器信息:
服务器名称:${info.name}
在线人数:${info.players}/${info.maxPlayers}
当前地图:${info.map}
连接地址:${info.ip}:${info.port}`)
}

替代方案推荐

  • 自行实现爬虫:使用cheerio库解析GameTracker网页内容,可控性更高,不会受第三方封装模块更新影响
  • 原生游戏协议查询:如果是Source、Minecraft等常见游戏,可以使用gamedig模块直接通过游戏官方查询协议获取数据,不需要爬网页,响应速度更快、数据准确性更高。

内容的提问来源于stack exchange,提问作者I need Help

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:54:01