diff --git a/commands/interaction/context/reverse-image.js b/commands/interaction/context/reverse-image.js index 9f0ad4e..ddb11fd 100644 --- a/commands/interaction/context/reverse-image.js +++ b/commands/interaction/context/reverse-image.js @@ -5,17 +5,17 @@ const { PERMISSION_GROUPS } = require('#constants'); const { getMessageAttachment, validateAttachment } = require('#utils/attachment'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); +const { favicon } = require("#utils/markdown"); const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') const { ApplicationCommandTypes, InteractionContextTypes, ApplicationIntegrationTypes } = require("detritus-client/lib/constants"); -// TODO: create a favicon() util function createReverseImageSearchResultPage(context, result, source) { let res = page( createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.name, url: result.url }, diff --git a/commands/interaction/slash/search/google-images.js b/commands/interaction/slash/search/google-images.js index b2cba0a..e5d45c8 100644 --- a/commands/interaction/slash/search/google-images.js +++ b/commands/interaction/slash/search/google-images.js @@ -4,16 +4,16 @@ const { PERMISSION_GROUPS } = require('#constants'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); +const { favicon } = require("#utils/markdown"); const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') const { ApplicationCommandOptionTypes, InteractionContextTypes, ApplicationIntegrationTypes } = require('detritus-client/lib/constants'); -// TODO: create a favicon() util function createImageResultPage(context, result) { let res = page(createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.title, url: result.url }, diff --git a/commands/interaction/slash/search/google.js b/commands/interaction/slash/search/google.js index 1d4cc8b..edee8e5 100644 --- a/commands/interaction/slash/search/google.js +++ b/commands/interaction/slash/search/google.js @@ -5,7 +5,7 @@ const { format } = require('#utils/ansi'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); -const { link, citation, icon, smallPill, pill, codeblock } = require('#utils/markdown') +const { link, citation, icon, smallPill, pill, codeblock, favicon} = require('#utils/markdown') const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') @@ -44,14 +44,13 @@ const SEARCH_CARD_TYPES = { PIVOT_IMAGES: 100 } -// TODO: create a favicon() util function createSearchResultPage(context, result, doodle){ let res; switch(result.type){ case SEARCH_CARD_TYPES.SEARCH_RESULT: res = createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.title, url: result.url }, diff --git a/commands/interaction/slash/utils/emojipedia.js b/commands/interaction/slash/utils/emojipedia.js index 41f1b4b..85c0ec6 100644 --- a/commands/interaction/slash/utils/emojipedia.js +++ b/commands/interaction/slash/utils/emojipedia.js @@ -127,8 +127,7 @@ module.exports = { currentView = createEmbed("default", context, { author: { - // TODO: emoji_placeholder_small - iconUrl: ico || STATIC_ASSETS.emoji_placeholder_large, + iconUrl: ico || STATIC_ASSETS.emoji_placeholder, name: `${res.data.name} • Emoji ${res.data.metadata.version.emoji}`, url: res.data.link }, diff --git a/commands/interaction/slash/utils/reverse-image.js b/commands/interaction/slash/utils/reverse-image.js index 469d0ef..19910c7 100644 --- a/commands/interaction/slash/utils/reverse-image.js +++ b/commands/interaction/slash/utils/reverse-image.js @@ -5,16 +5,16 @@ const { PERMISSION_GROUPS } = require("#constants"); const { validateAttachment } = require("#utils/attachment"); const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed"); const { acknowledge } = require("#utils/interactions"); +const { favicon } = require("#utils/markdown"); const { editOrReply } = require("#utils/message"); const { ApplicationCommandOptionTypes, InteractionContextTypes, ApplicationIntegrationTypes } = require('detritus-client/lib/constants'); -// TODO: create a favicon() util function createReverseImageSearchResultPage(context, result, source) { let res = page( createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.name, url: result.url }, diff --git a/commands/message/search/bing-images.js b/commands/message/search/bing-images.js index 0d04163..cc21501 100644 --- a/commands/message/search/bing-images.js +++ b/commands/message/search/bing-images.js @@ -4,15 +4,15 @@ const { PERMISSION_GROUPS } = require('#constants'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); +const { favicon } = require("#utils/markdown"); const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') -// TODO: create a favicon() util function createImageResultPage(context, result) { let res = page( createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.title, url: result.url }, diff --git a/commands/message/search/bing.js b/commands/message/search/bing.js index ec372ed..1883af9 100644 --- a/commands/message/search/bing.js +++ b/commands/message/search/bing.js @@ -4,18 +4,17 @@ const { PERMISSION_GROUPS } = require('#constants'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); -const { citation, link, codeblock } = require('#utils/markdown') +const { citation, link, codeblock, favicon} = require('#utils/markdown') const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') -// TODO: create a favicon() util function createSearchResultPage(context, entry){ let res; switch(entry.type){ case 1: // WebPage res = page(createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(entry.result.url)}&sz=256`, + iconUrl: favicon(entry.result.url), name: entry.result.title, url: entry.result.url }, diff --git a/commands/message/search/google-images.js b/commands/message/search/google-images.js index 0b09fce..ec3bf8f 100644 --- a/commands/message/search/google-images.js +++ b/commands/message/search/google-images.js @@ -4,14 +4,14 @@ const { PERMISSION_GROUPS } = require('#constants'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); +const { favicon } = require("#utils/markdown"); const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') -// TODO: create a favicon() util function createImageResultPage(context, result) { let res = page(createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.title, url: result.url }, diff --git a/commands/message/search/google.js b/commands/message/search/google.js index 6f6a4c2..c0d3c7a 100644 --- a/commands/message/search/google.js +++ b/commands/message/search/google.js @@ -1,11 +1,11 @@ const { google } = require('#api'); const { paginator } = require('#client'); const { PERMISSION_GROUPS } = require('#constants'); -const { format } = require('#utils/ansi'); +const { format } = require('#utils/ansi'); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); -const { link, citation, icon, codeblock, pill, smallPill } = require('#utils/markdown') +const { link, citation, icon, codeblock, pill, smallPill, favicon} = require('#utils/markdown') const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') @@ -22,8 +22,6 @@ function renderFooter(context, doodle){ } // These have to be synced with the backend (search_service/endpoints/google). - - const SEARCH_CARD_TYPES = { UNKNONW: 0, SEARCH_RESULT: 1, @@ -44,14 +42,13 @@ const SEARCH_CARD_TYPES = { PIVOT_IMAGES: 100 } -// TODO: create a favicon() util function createSearchResultPage(context, result, doodle){ let res; switch(result.type){ case SEARCH_CARD_TYPES.SEARCH_RESULT: res = createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.title, url: result.url }, diff --git a/commands/message/search/reverse-image.js b/commands/message/search/reverse-image.js index 9c657a1..721aec1 100644 --- a/commands/message/search/reverse-image.js +++ b/commands/message/search/reverse-image.js @@ -5,15 +5,15 @@ const { PERMISSION_GROUPS } = require('#constants'); const { getRecentImage } = require("#utils/attachment"); const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed'); const { acknowledge } = require('#utils/interactions'); +const { favicon } = require("#utils/markdown"); const { editOrReply } = require('#utils/message') const { STATICS } = require('#utils/statics') -// TODO: create a favicon() util function createReverseImageSearchResultPage(context, result, source) { let res = page( createEmbed("default", context, { author: { - iconUrl: `https://www.google.com/s2/favicons?domain=${encodeURIComponent(result.url)}&sz=256`, + iconUrl: favicon(result.url), name: result.name, url: result.url }, diff --git a/commands/message/utils/emojipedia.js b/commands/message/utils/emojipedia.js index b6f63c2..8a7188a 100644 --- a/commands/message/utils/emojipedia.js +++ b/commands/message/utils/emojipedia.js @@ -88,8 +88,7 @@ module.exports = { currentView = createEmbed("default", context, { author: { - // TODO: emoji_placeholder_small - iconUrl: newIcon || STATIC_ASSETS.emoji_placeholder_large, + iconUrl: newIcon || STATIC_ASSETS.emoji_placeholder, name: `${newView.data.name} `, url: newView.data.link }, @@ -145,8 +144,7 @@ module.exports = { currentView = createEmbed("default", context, { author: { - // TODO: emoji_placeholder_small - iconUrl: ico || STATIC_ASSETS.emoji_placeholder_large, + iconUrl: ico || STATIC_ASSETS.emoji_placeholder, name: `${res.data.name} `, url: res.data.link }, diff --git a/labscore/constants.js b/labscore/constants.js index 5ce204f..aed4d58 100644 --- a/labscore/constants.js +++ b/labscore/constants.js @@ -1668,7 +1668,6 @@ module.exports.MESSAGE_BLOCK_REASONS = Object.freeze({ message: "the server's AutoMod setup", support_article: 4421269296535 }, - // TODO: Handle permissions properly, this works as a "hack" for now.e 50013: { message: "the channel's permission setup", support_article: 10543994968087 diff --git a/labscore/utils/markdown.js b/labscore/utils/markdown.js index 5c8d114..de9a2df 100644 --- a/labscore/utils/markdown.js +++ b/labscore/utils/markdown.js @@ -40,6 +40,16 @@ module.exports.iconAsEmojiObject = function(icon){ } +/** + * Creates a favicon image via google s2 + * @param {string} url Url + * @param {Number} size Favicon Size + * @returns {string} Favicon URL + */ +module.exports.favicon = function(url, size = 256){ + return `https://www.google.com/s2/favicons?domain=${encodeURIComponent(url)}&sz=${size}` +} + module.exports.weatherIcon = function(icon){ if(!_iconExists("weather_" + icon)) return _icon("calendar"); return _icon("weather_" + icon)