diff --git a/commands/interaction/slash/search/google.js b/commands/interaction/slash/search/google.js index d9190e8..c04d097 100644 --- a/commands/interaction/slash/search/google.js +++ b/commands/interaction/slash/search/google.js @@ -3,7 +3,7 @@ const { paginator } = require('#client'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); -const { link, citation } = require('#utils/markdown') +const { link, citation, icon } = require('#utils/markdown') const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') @@ -54,6 +54,18 @@ function createSearchResultPage(context, result, doodle){ res.embeds[0].description += "\n" + cnt + citation(1, result.card.url, "Source") } break; + case 3: // Doodle Card + res = page(createEmbed("default", context, { + description: `### ${result.card.title}\n${result.card.description}\n\n${link(result.card.learn_more, `Learn More ${icon("link_open_external")}`, "Learn more about this Doodle")}`, + thumbnail: { + url: result.card.images.thumbnail + }, + image: { + url: result.card.images.image + }, + footer: renderFooter(context, doodle) + })) + break; default: res = page(createEmbed("error", context, "Unknown GoogleResult Type: " + result.type)) break; diff --git a/commands/message/search/google.js b/commands/message/search/google.js index 1e7578c..0d5a160 100644 --- a/commands/message/search/google.js +++ b/commands/message/search/google.js @@ -2,7 +2,7 @@ const { google } = require('#api'); const { paginator } = require('#client'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed') -const { link, citation } = require('#utils/markdown') +const { link, citation, icon } = require('#utils/markdown') const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') @@ -54,6 +54,18 @@ function createSearchResultPage(context, result, doodle){ res.embeds[0].description += "\n" + cnt + citation(1, result.card.url, "Source") } break; + case 3: // Doodle Card + res = page(createEmbed("default", context, { + description: `### ${result.card.title}\n${result.card.description}\n\n${link(result.card.learn_more, `Learn More ${icon("link_open_external")}`, "Learn more about this Doodle")}`, + thumbnail: { + url: result.card.images.thumbnail + }, + image: { + url: result.card.images.image + }, + footer: renderFooter(context, doodle) + })) + break; default: res = page(createEmbed("error", context, "Unknown GoogleResult Type: " + result.type)) break; diff --git a/labscore/constants.js b/labscore/constants.js index 8e5311a..04a5847 100644 --- a/labscore/constants.js +++ b/labscore/constants.js @@ -67,6 +67,8 @@ module.exports.ICONS = Object.freeze({ "button_chevron_left": "<:button_chevron_left:1263594121256374413>", "button_chevron_right": "<:button_chevron_right:1263594132023279669>", + "link_open_external": "<:ico_link_open_external:1266361666702934071>", + "home": "<:ico_home:1263593114694586400>", "image": "<:ico_image:1263593101755289610>", "search": "<:ico_search:1263593084810301493>",