簡體   English   中英

如何在hubot中編寫腳本?

[英]How to script in hubot?

問題是:我加入了一個網站並獲得了一個用作機器人的腳本。 順便說一句,我正在使用hubot。

代碼是:

var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer xxxxxxxxxxxxxxxxxxx");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Cookie", "__xxxxxxxxxxxxxxxxxxxx");

var raw = JSON.stringify({"language":"pt_br","text":"sim"});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://yyyyyy/v2/parse/", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

當我啟動機器人時,我收到此錯誤:

*Headers is not defined
at Object. (/home/ubuntu/hubot-rocketchat-boilerplate/scripts/leadtest.js:1:17)
at Module._compile (internal/modules/cjs/loader.js:1200:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
at Module.load (/home/ubuntu/hubot-rocketchat-boilerplate/node_modules/coffeescript/lib/coffeescript/register.js:53:36)
at Function.Module._load (internal/modules/cjs/loader.js:937:14)
at Module.require (internal/modules/cjs/loader.js:1089:19)
at require (internal/modules/cjs/helpers.js:73:18)
at Robot.loadFile (/home/ubuntu/hubot-rocketchat-boilerplate/node_modules/hubot/src/robot.js:360:22)
at /home/ubuntu/hubot-rocketchat-boilerplate/node_modules/hubot/src/robot.js:383:52
at Array.map (:null:null)
at Robot.load (/home/ubuntu/hubot-rocketchat-boilerplate/node_modules/hubot/src/robot.js:383:35)
at RocketChatBotAdapter.loadScripts (/home/ubuntu/hubot-rocketchat-boilerplate/node_modules/hubot/bin/hubot.js:115:9)
at Object.onceWrapper (events.js:421:28)
at RocketChatBotAdapter.emit (events.js:315:20)
at /home/ubuntu/hubot-rocketchat-boilerplate/node_modules/hubot-rocketchat/index.js:80:14
at processTicksAndRejections (internal/process/task_queues.js:97:5)*

我得到的問題是在代碼的第一行,什么是 header,我該怎么辦? 我錯過了什么? 感謝你們。

您在第一行代碼中創建了 Header object,如下所示:

var myHeaders = new Headers();

由於程序在程序中找不到 Headers() object,所以無法對其進行初始化。 從而給出Headers not defined錯誤。

繼續下一個問題:什么是標題?

Fetch API 的 Headers 接口允許您對 HTTP 請求和響應標頭執行各種操作。 您可以參考此文檔以了解更多信息。

最后,這個問題已經在這里解決了,請參考。 但是,如果您想在這里得到答案,那么建議的解決方法是:

const fetch = require('node-fetch');
global.fetch = fetch
global.Headers = fetch.Headers;

這樣做是因為Headers()是 Fetch API 的本機構造,您可能需要對 Fetch API 進行 polyfill。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM