Identify if message.data.text contains an URL, send it to your server or a third party service and get the data collected into message.data.metadata which you can use in order to transform a plain message in a thumbnail.
npm install chat-engine-open-graph
- Have a ChatEngine server running already, instantiate a client and connect it
const ChatEngine = ChatEngineCore.create({
publishKey: 'pub-key-here',
subscribeKey: 'sub-key-here'
});
ChatEngine.connect('Username');
ChatEngine.on('$ready', () = { ... });
- Grab your API key from Opengraph.io . It should look a litte something like this:
const apiKey = "xxxxxxxxxxxxxxx";
- Attach this plugin to the channel you want, in this case global
You have to inject a function to the attribute api which receive as a parameter the URL detected inside of message and arrange it into a query parameter to the API endpoint of the server side.
ChatEngine.global.plugin(ChatEngineCore.plugin['chat-engine-open-graph']({
api: (url) => `https://opengraph.io/api/1.1/site/${encodeURI(url)}?app_id=${apiKey}`
}));
or
const opengraph = require('chat-engine-open-graph');
ChatEngine.global.plugin(opengraph({ api: (url) => `https://opengraph.io/api/1.1/site/${encodeURI(url)}?app_id=${apiKey}` }));