第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

用于 Discord 機(jī)器人的 Base 64 url?? 轉(zhuǎn)換器

用于 Discord 機(jī)器人的 Base 64 url?? 轉(zhuǎn)換器

HUWWW 2023-12-14 14:26:28
我使用 api 來(lái)獲取 mincraft 服務(wù)器詳細(xì)信息,它為我提供了 ip、玩家數(shù)量和所有這些爵士樂(lè),但對(duì)于服務(wù)器圖標(biāo),它為我提供了一個(gè)基本 64url,所以我需要先在我的不和諧機(jī)器人中對(duì)其進(jìn)行解碼,但我不確定這是如何實(shí)現(xiàn)的可以完成 https://www.npmjs.com/package/minecraft-server-util這是我使用的 api,如果你想看一下,如果你需要看一下我的代碼,這樣你就可以向我展示如何整合它就是這樣const discord = require("discord.js");const util = require('minecraft-server-util');const {MessageEmbed} = require('discord.js');const bot = new discord.Client();const token = "my token but i removed it here for privecy reasons";const PREFIX = "-";var version = "1.0.1"util.status("hypixel.net")bot.on("ready", ()=>{  console.log("this bot is online!")})bot.on("message", message=>{  let args = message.content.slice(PREFIX.length).split(" ")  switch(args[0]){    case "ping":      message.reply ("pong");      break;    case "website":      message.channel.send("youtube.com/probler")      break;    case "info":      if(args[1] === "version"){        message.channel.send("We Are Curently In Version " + version)      }      else{        message.channel.send("Invalid Command")      }      break;    case "clear":      if(!args[1]) return message.reply("Error Please Define A Number")      message.channel.bulkDelete(args[1]);      break;    case "embed":      const embed = new MessageEmbed()      .setColor('RANDOM')      .setTitle("User Information")      .addField("Player Name", message.author.username, true)      .addField("Current Server", message.guild.name,)      .setThumbnail(message.author.displayAvatarURL())      .setFooter("Version " + version)      message.channel.send(embed);      break;        })       .catch((error, response) => {           throw error;       });       break;      }  })
查看完整描述

1 回答

?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊

解決方案


我花了一段時(shí)間,并進(jìn)行了很多失敗的測(cè)試,才弄清楚這一點(diǎn)。但我終于讓它工作了,這是最終結(jié)果:


const Discord = require('discord.js');

const util = require('minecraft-server-util');


util.status("hypixel.net").then(response => {


? ? var fav = response.favicon.split(",").slice(1).join(",");

? ? var imageStream = Buffer.from(fav, "base64");

? ? var attachment = new Discord.MessageAttachment(imageStream, "favicon.png");

? ??

? ? const embed = new Discord.MessageEmbed()

? ? .attachFiles([attachment])

? ? .setThumbnail("attachment://favicon.png");


? ? message.channel.send(embed);

}).catch(console.error);

我使用我的機(jī)器人的 eval 命令對(duì)此進(jìn)行了測(cè)試,它使用我自己的 Minecraft 服務(wù)器的 IP 運(yùn)行起來(lái)就像一個(gè)魅力。如果您的 base64 URL 格式或文件類(lèi)型與我的不同,您可能需要稍微調(diào)整代碼。

解釋

我將在下面解釋該解決方案的每個(gè)步驟:

  1. response.favicon.split(",").slice(1).join(",")

這從 base64 字符串獲取數(shù)據(jù)。Base64 的格式通常類(lèi)似于:data:<media type>;[charset=<character set>];base64,<data>。正如您所看到的,base64 的實(shí)際數(shù)據(jù)僅在第一個(gè)逗號(hào)之后開(kāi)始,因此我刪除了這行代碼中逗號(hào)之前的所有內(nèi)容。

  1. Buffer.from(fav, "base64")

這會(huì)將 Base64 轉(zhuǎn)換為緩沖區(qū)。Discord 的消息附件不能使用 base64 URL,但它們可以使用任何可以解析為Buffer.?該行允許將我們的 base64 數(shù)據(jù)轉(zhuǎn)換為可以在 Discord 中作為附件發(fā)送的數(shù)據(jù)。

  1. new Discord.MessageAttachment(imageStream, "favicon.png")

請(qǐng)注意,base64 URL 和 Buffer 都不能直接設(shè)置為嵌入的縮略圖??s略圖僅支持常規(guī) URL。因此,我們可以使用 Discord.js 提供的解決方法,它允許我們首先將緩沖區(qū)作為附件附加,然后將其移動(dòng)到縮略圖中。此行創(chuàng)建我們的附件,并將其命名為“favicon.png”(這很重要,因?yàn)槲覀兩院笮枰L問(wèn)該名稱(chēng))。

  1. .attachFiles([attachment])

該行將我們新創(chuàng)建的內(nèi)容附加MessageAttachment到嵌入中。它僅作為文件附加,尚未出現(xiàn)在我們嵌入的縮略圖中。

  1. .setThumbnail("attachment://favicon.png")

現(xiàn)在我們可以使用discord.js 的解決方法將圖像放入縮略圖中。我們可以用來(lái)attachment://fileName.extension訪問(wèn)嵌入中的任何和所有附加文件。這將允許我們通過(guò)從附件中抓取文件來(lái)將嵌入的縮略圖、圖標(biāo)或圖像設(shè)置到我的世界服務(wù)器的圖標(biāo)上。最重要的是,當(dāng)我們執(zhí)行此操作時(shí),文件會(huì)移動(dòng)到縮略圖,并且不會(huì)另外作為附件發(fā)送。

查看完整回答
反對(duì) 回復(fù) 2023-12-14
  • 1 回答
  • 0 關(guān)注
  • 178 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)