node.js tmi.js twitch 机器人对象返回 [object, Object]
node.js tmi.js twitch bot Object Returning [object, Object]
我正在使用 node.js 和 tmi.js 为 twitch 机器人制作游戏。我有一个动态数组(votePlayers),它根据机器人读取的 twitch 聊天中的传入消息改变每一轮。然后我必须为每次出现在这个数组中的项目设置一个计数器,所以我使用下面的方法来这样做,这是有效的,当我控制台记录数据保存到的对象时,一切看起来都很好,但是当我尝试return 它作为从机器人到 twitch 聊天的消息,它 returns [object, Object],尽管它被正确地打印到控制台。我不知道出了什么问题,也不知道我能做什么。
//calculate function
function calculateWinner () {
let roundCount = {};
votePlayers.forEach(function(i) { roundCount[i] = (roundCount[i]||0) + 1;});
console.log(roundCount);
client.say(channel, `The votes for this round are: ${roundCount}`);
newRound();
}
client.say
需要一个字符串作为第二个参数,但你传递的是一个对象,这就是你得到 [object Object]
.
的原因
首先将您的对象转换为字符串:
即
roundCount = {};
roundCount[1] = 5;
roundCount["2"] = 3;
console.log(Object.keys(roundCount).map(key => `${key}: ${roundCount[key]}`).join(", "));
然后调用
client.say(channel, `The votes for this round are: ${Object.keys(roundCount).map(key => `${key}: ${roundCount[key]}`).join(", ")}`);
应该可以
我正在使用 node.js 和 tmi.js 为 twitch 机器人制作游戏。我有一个动态数组(votePlayers),它根据机器人读取的 twitch 聊天中的传入消息改变每一轮。然后我必须为每次出现在这个数组中的项目设置一个计数器,所以我使用下面的方法来这样做,这是有效的,当我控制台记录数据保存到的对象时,一切看起来都很好,但是当我尝试return 它作为从机器人到 twitch 聊天的消息,它 returns [object, Object],尽管它被正确地打印到控制台。我不知道出了什么问题,也不知道我能做什么。
//calculate function
function calculateWinner () {
let roundCount = {};
votePlayers.forEach(function(i) { roundCount[i] = (roundCount[i]||0) + 1;});
console.log(roundCount);
client.say(channel, `The votes for this round are: ${roundCount}`);
newRound();
}
client.say
需要一个字符串作为第二个参数,但你传递的是一个对象,这就是你得到 [object Object]
.
首先将您的对象转换为字符串: 即
roundCount = {};
roundCount[1] = 5;
roundCount["2"] = 3;
console.log(Object.keys(roundCount).map(key => `${key}: ${roundCount[key]}`).join(", "));
然后调用
client.say(channel, `The votes for this round are: ${Object.keys(roundCount).map(key => `${key}: ${roundCount[key]}`).join(", ")}`);
应该可以