हल किया गया (नीचे देखें)

मैं एक एपीआई बनाने की कोशिश कर रहा हूं ताकि मैं टेक्स्ट (एक शब्द दस्तावेज़ से) में पढ़ सकूं और बॉटप्रेस में बॉट उस टेक्स्ट के एक सेक्शन के साथ प्रतिक्रिया दे सके।

मैं कुछ चीजों के बारे में उलझन में हूँ:

  1. मेरे एपीआई को किस संरचना का पालन करना चाहिए (किस फ़ाइल में कार्य करना चाहिए और मैं उन्हें कैसे कनेक्ट कर सकता हूं, या, क्या मैं केवल मुख्य ऐप.जेएस फ़ाइल में फ़ंक्शन डाल सकता हूं)

  2. मैं उस शब्द दस्तावेज़ के अनुभाग को कैसे कॉल करूं ताकि बॉट इसके साथ प्रतिक्रिया दे सके?

जैसा कि आप देख सकते हैं, मैं सरणी में विभिन्न तत्वों को कॉल कर सकता हूं ({{session.response.0}} कर रहा हूं और बॉट Tony एंटर या {{session.response.1}} "Lisa" के साथ जवाब देगा।

मेरे पास मेरी एपीआई संरचना में केवल एक app.js फ़ाइल है लेकिन कोई अन्य नहीं है। यह मेरी एपीआई फ़ाइल है (app.js)

    var express =  require("express");
    var fs = require('fs');
    var app = express();
    var port = process.env.PORT || 3002;

    app.get("/url", (req, res, next) =>{
       res.json(["Tony", "Lisa", "Michael","Ginger","Food"]);
    });


    fs.readFile('/home/user/Desktop/test/doc.html', 'utf8', function(err, contents) {
        res.json(contents);
    });


    app.listen(port, () => {
       console.log("Server running on port: " + port);
    });

यह मेरी एक्शन फ़ाइल है (उर्फ वह चीज़ जो एपीआई को बॉटप्रेस से कॉल/लिंक करती है):

const axios = require('axios')

/**
 * @title testApi
 * @category Test
 * @author test
 */
const testApi = async () => {
  // We call the test API
  const { data } = await axios.get('http://localhost:3002/url/')

  // We assign the response to the session variable so we can use it later
  session.response = data
}

// Actions are async, so make sure to return a promise
return testApi()

हल किया गया संपादित करें: एक टेक्स्ट रीडर मिला (https://github.com/dbashford/texttract)

1
AVu 19 अगस्त 2019, 17:15

1 उत्तर

सबसे बढ़िया उत्तर

'टेक्स्ट' दस्तावेज़ रीडर का इस्तेमाल किया: https://github.com/dbashford/texttract

0
AVu 22 अगस्त 2019, 19:10