gpt4 book ai didi

javascript - 使用 DiscordJS 在聊天中获取表情符号图像的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-04 08:52:22 25 4
gpt4 key购买 nike

我的主要目标是能够运行一个小命令,如 $yoink ,这将采用聊天中最后发送的表情符号并将其制作成我可以下载的图像。我已经有了这样的东西,但是,它只检测常规图像和嵌入图像(使用它来使我的机器人具有 Jimp 功能)
这是我到目前为止所拥有的:

async function GetImageFromMsg(msg) {
var imageUrl = null;
const urlsnifferpattern = /(https?:\/\/[^\s]+\.(?:png|jpg|jpeg|bmp|gif|tiff|webp)(?:$|[^\s]+))/i;

if (msg.attachments && (getImg = msg.attachments.find(val => val.height && val.url)) && getImg.url.match(urlsnifferpattern)) // user uploads directly to chat.
imageUrl = getImg.url;
if (msg.content && (getImg = msg.content.match(urlsnifferpattern))) // Here first to avoid caching issues on the next two checks.
imageUrl = getImg[0].replace(">", "");
if (msg.embeds && (getImg = msg.embeds.find(val => val.thumbnail && val.thumbnail.url))) // small image ONLY on bot-made embeds - (small??>)big image on LINK-made embeds - random image URLS with no embeds.
imageUrl = getImg.thumbnail.url;
if (msg.embeds && (getImg = msg.embeds.find(val => val.image && val.image.url))) // big image on bot-made embeds.
imageUrl = getImg.image.url;

if (!imageUrl)
return null;

return imageUrl;
}
我应该如何添加支持以获取表情符号?

最佳答案

您可以检查您的消息是否包含任何带有正则表达式的表情符号。
这是一个 example怎么做(它的 Python 但 RegEx 到处都是一样的垃圾)和另一个详细解释 Discord 如何处理表情符号可以找到 here .
要获取纯图像,您需要先获取表情符号 id

client.emojis.find(emoji => emoji.name === "emoji_name");
然后你可以继续通过将 id 插入到这个 url 来获取纯图像:
function getEmoji(id){
var linkToMyEmoji = `https://cdn.discordapp.com/emojis/${id}.png`
// ...
}
希望这可以帮到你 :)

关于javascript - 使用 DiscordJS 在聊天中获取表情符号图像的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64033578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com