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

2023-12-23

第二次在 StackOverflow 上发帖,对于任何错误我深表歉意。 请多多包涵。

与标题相同;您如何阅读不和谐附件的内容比方说.txt文件并打印内容?

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

Ideas?


你不能使用fs模块,因为它只处理本地文件。当您将文件上传到 Discord 服务器时,它会被上传到 CDN,您所能做的就是从MessageAttachment https://discord.js.org/#/docs/main/stable/class/MessageAttachment使用url财产。

如果您需要从网络获取文件,您可以使用内置的 URL 从 URL 获取它https模块,或者你可以从 npm 安装一个,就像我下面使用的那样,node-fetch https://www.npmjs.com/package/node-fetch.

安装node-fetch, run npm i node-fetch在你的根文件夹中。

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

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);
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取文件附件(例如;.txt 文件)-Discord.JS 的相关文章

随机推荐

  • SignalR + Win RT(Windows 8.1) + 使用未签名的证书不起作用[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 经过 4 个多小时的搜索 使 Windows RT SignalR 使用自签名证书工作 找到了 所以我在这里分享一个解决方案 您收到错误 底
  • 如何发送 SOAP 请求?

    我是 SOAP 和 xml 的新手 我读了很多教程 但似乎没有什么是足够清楚的 我有点困惑 到底如何发送 SOAP 请求 我尝试执行此操作的方法是将 SOAP 请求 如下所示 保存为 test Request xml POST Mobile
  • 如何在node.js中逐块进行压缩?

    我正在以块的形式获取压缩网页的内容 并希望在收到每个内容后立即对其进行解压缩 因此我正在尝试执行以下操作 为了可读性而将内容剥离 var decompress function string callback zlib gunzip str
  • 使用宏刷新 Excel 工作簿中的所有数据透视表

    我有一本包含 20 个不同数据透视表的工作簿 有没有简单的方法可以找到所有数据透视表并在 VBA 中刷新它们 Yes ThisWorkbook RefreshAll 或者 如果您的 Excel 版本足够旧 Dim Sheet as Work
  • 使用 OAuth 从 Twitter 获取名字/姓氏/电子邮件

    我专门使用omniauth 来允许通过facebook google twitter 登录我的网站 我存储名字 姓氏和电子邮件 但是 当我从 oauth 提出 twitter auth 哈希时 我只能在 auth 哈希中获得昵称 名称 位置
  • iPhone Web 应用程序的日期选择器

    显示基于 iPhone 的 Web 应用程序的日期选择器的最佳方式是什么 我们可以在 Web 应用程序中显示类似 iPhone 本机日期选择器的内容吗 最简单的方法 可以说是最好的方法 是使用 safari 的内置日期选择器作为输入框 使用
  • 使用 Google Apps 脚本更新 Google 文档中的嵌入图表

    太长了 如何使用文档中的脚本编辑器更新文档中嵌入的表格图表 我知道有一个脚本可以为 Google 幻灯片执行此操作 但我正在尝试在 Google 文档中执行此操作 但找不到任何相关文档 https developers google com
  • 尝试连接到 localhost:5000 Firebase 时出现“无法获取/”

    我正在尝试让 Firebase 上的本地主机服务器正常工作 但我继续在浏览器中收到以下消息 无法获取 我看了一下控制台 它只说 http 本地主机 5000 http localhost 5000 404 未找到 我尝试使用 firebas
  • 外部 swf 卸载后声音继续播放

    我有一个 Flash 应用程序 某种加载外部 SWF 视频播放器的播放列表 我没有对该外部文件的代码访问权限 因此用户可以观看视频或跳到另一个视频 当用户切换到另一个视频时 将加载新的 SWF 文件 问题 如果用户没有看完视频并跳到下一个
  • onClick 里面有两个参数

    我试图在 ReactJs 中的 onClick 上传递两个事件操作 基本上我想要类似的东西 div prop2 value2 this continue project gt 我尝试了 1000 种不同的语法编写方式 div prop2 v
  • 如何将 Python 3 和 Django 与 Apache 结合使用?

    我的目标是使用 Apache 设置 Python 3 我最大的问题实际上是获取 mod python so 在我的一生中 我只找到一个可以下载它的网站 http www modpython org 而我得到的是一堆构建和安装文件 我找不到解
  • Django:在 queryset.update 上发出信号

    如果您使用的是 Django 会发送 pre post delete 信号queryset delete 方法 但不应该也发送 pre post save onqueryset update 也许应该如此 但事实并非如此 update 不调
  • 您在 Netbeans 中创建了哪些有用的宏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Typescript i18next 不满足约束 'string |模板字符串数组 NextJS

    我正在尝试输入要使用 i18next 进行翻译的对象数组 但变量 navItems 中出现以下消息 我在其中声明 i18next 然后迭代该数组Type NavItemProps does not satisfy the constrain
  • 版权信息的正确语义标签 - html5

    在网站页脚中包含版权声明的最佳且最语义化的标签 方法是什么 将其放入您的
  • 让“$watch”功能远离控制器的最佳实践

    我试图找到一些搬家最佳实践的好例子 watch例如 从控制器到工厂的功能 我发现实际上对于什么是最好的做法并没有一致的意见 我见过注入的例子 rootScope进入工厂并 watch那里的价值变化 另一个建议是尽可能避免它们 并使用ngCh
  • 使用 struct.pack 和 struct.unpack_from 写入数据结构无法正确读取

    我在获取二进制文件中的数据时遇到这个问题 Write data f open path wb start date 2014 1 1 0 0 0 0 end date 2014 2 1 0 0 0 0 for x in range 10 f
  • 检查 HttpWebResponse 是否为空

    我正在向 REST 服务发出 HTTP post 请求 当我收到 HttpWebResponse 返回时 我正在执行以下检查 当我执行 webresponse null 时 我是否还应该检查 responseStream null Http
  • 如何在android服务中处理保持活动连接

    我正在将 asmack 用于 Android IM 应用程序 其中我使用带有 AIDL 接口的远程服务 代替onStartCommand我的服务方法我编写的代码如下 我创建连接 然后使用它登录 当有人在里面运行我的应用程序时onCreate
  • 读取文件附件(例如;.txt 文件)-Discord.JS

    第二次在 StackOverflow 上发帖 对于任何错误我深表歉意 请多多包涵 与标题相同 您如何阅读不和谐附件的内容比方说 txt文件并打印内容 我尝试过fs但不幸的是失败了 我也搜索了文档但也失败了 Ideas 你不能使用fs模块 因