-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
28 lines (26 loc) · 963 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var MTGClient = require('mtgsdk').card;
var MTGCardRenderer = require('mtg-card-renderer');
var Renderer = MTGCardRenderer.Renderer;
var Serializer = MTGCardRenderer.Serializer;
function errorMessage(card) {
return '*No results for "'+ card + '"*. (Hint: include all punctuation in the card\'s name, e.g. "narset enlightened master" should be "narset, enlightened master")';
}
exports.handler = function(event, context) {
console.log('Received:', event);
var query = { name: '"' + event.text + '"'};
MTGClient.where(query).then(function(cards) {
var success = Serializer.deserialize(cards, function(result) {
console.log('Deserialized:', result);
var response = Renderer(result);
console.log('Rendered:', response);
context.succeed({
response_type: 'in_channel',
text: response
});
return true;
});
if (!success) {
context.succeed({ text: errorMessage(event.text) });
}
});
}