0

我目前正处于使用 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)

我尝试了与身份验证参数的所有可能组合,例如使用对象声明它们或尝试使用登录功能推送它们。

4

1 回答 1

0

对于常规节点应用程序,Circuit SDK 包含如下:

const Circuit = require('circuit-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

于 2020-01-24T13:30:32.360 回答