我目前正在使用Node.js编写小型Circuit Bot的第一步。
这是我到目前为止所得到的:
const Circuit = require('../node_modules/circuit-sdk/circuit.js'); //Circuit-Library importieren
var config = require('./config.json'); //Configs für Bot
console.log(config); // Configs ausgeben
var client = null;
client = new Circuit.Client({
client_id: config.client_id,
client_secret: config.client_secret
});
client.logon()
.then(user => console.log('Logged on'))
但是由于抛出TypeError,客户端无法登录:
TypeError: XMLHttpRequest is not a constructor
at /home/jovyan/node_modules/circuit-sdk/circuit.js:59768:37
at new Promise (<anonymous>)
at xhr (/home/jovyan/node_modules/circuit-sdk/circuit.js:59767:20)
at /home/jovyan/node_modules/circuit-sdk/circuit.js:60283:17
at new Promise (<anonymous>)
at authenticateClientCredentials (/home/jovyan/node_modules/circuit-sdk/circuit.js:60282:20)
at Object.circuit.Client._self.logon (/home/jovyan/node_modules/circuit-sdk/circuit.js:63899:24)
at evalmachine.<anonymous>:5:8
at Script.runInThisContext (vm.js:116:20)
at Object.runInThisContext (vm.js:306:38)
我尝试了各种可能的身份验证参数组合,例如用对象声明它们,或尝试使用登录功能将其推入。
答案 0 :(得分:0)
对于常规节点应用,Circuit SDK包含如下内容:
const Circuit = require('circuit-sdk');
这将加载Circuit Node SDK,该SDK实现了一些浏览器特定的API,例如XMLHttpRequest。
您唯一需要在节点应用程序中需要基于浏览器的常规Circuit JS SDK的情况是在电子渲染器进程中(它实质上是Chromium浏览器)。在这种特殊情况下,您将包括以下内容:
const Circuit = require('circuit-sdk/circuit.js');
将更新的node-sdk-example应用程序作为节点应用程序(机器人)的良好起点。 https://github.com/circuit/node-sdk-example