gpt4 book ai didi

javascript - 读取文件附件(例如;.txt 文件)-Discord.JS

转载 作者:行者123 更新时间:2023-12-02 02:11:53 24 4
gpt4 key购买 nike

第二次在 StackOverflow 上发帖,对于任何错误我深表歉意。请耐心等待。

同标题;如何读取不和谐附件的内容(假设是 .txt 文件)并打印内容?

我尝试过使用fs,但不幸的是失败了,我也搜索了文档,但也失败了。

enter image description here

想法?

最佳答案

您不能为此使用 fs 模块,因为它只处理本地文件。当您将文件上传到 Discord 服务器时,它会上传到 CDN,您所能做的就是从 MessageAttachment 获取该文件的 URL。使用 url 属性。

如果您需要从网络获取文件,您可以使用内置的 https 模块从 URL 获取该文件,也可以从 npm 安装一个文件,就像我下面使用的那样, node-fetch .

To install node-fetch, run npm i node-fetch in your root folder.

查看下面的工作代码,它可以很好地处理文本文件:

const { Client } = require('discord.js');
const fetch = require('node-fetch');

const client = new Client();

client.on('message', async (message) => {
if (message.author.bot) return;

// get the file's URL
const file = message.attachments.first()?.url;
if (!file) return console.log('No attached file found');

try {
message.channel.send('Reading the file! Fetching data...');

// fetch the file from the external URL
const response = await fetch(file);

// if there was an error send a message with the status
if (!response.ok)
return message.channel.send(
'There was an error with fetching the file:',
response.statusText,
);

// take the response stream and read it to completion
const text = await response.text();

if (text) {
message.channel.send(`\`\`\`${text}\`\`\``);
}
} catch (error) {
console.log(error);
}
});

enter image description here

关于javascript - 读取文件附件(例如;.txt 文件)-Discord.JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67652628/

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