我将如何使用两个不同版本的 discord.js | Discord.js 机器人

Posted

技术标签:

【中文标题】我将如何使用两个不同版本的 discord.js | Discord.js 机器人【英文标题】:How would I use two different versions of discord.js | Discord.js Bot 【发布时间】:2021-03-11 02:55:52 【问题描述】:

我想为我的 discord 机器人使用以下版本的 discord.js:

discord.js v11.6.4 discord.js v12.4.1

我试过一个接一个地安装它们,但无济于事。

first
npm i discord.js@11.6.4
then
npm i discord.js@12.4.1

有没有办法在 package.json 中区分 discordv11 和 v12 并在一个机器人中使用这两个模块?

【问题讨论】:

这能回答你的问题吗? how to install multiple versions of package using npm 是的,但是应该有充分的理由同时使用两者,如果 v11 中的某些内容在 v12 中已被删除,那么也许还有另一个可以实现相同的目标。 【参考方案1】:

您需要使用 npm 的别名功能(请注意,它仅适用于 npm v6.9.0)

npm install discord.js11@npm:discord.js@11.6.4
npm install discord.js12@npm:discord.js@12.4.1

那么你可以访问它

const discord11 = require('discord.js11')
const discord12 = require('discord.js12')

我也不知道为什么你使用 discord.js v11、v12 应该有完整的覆盖范围等等,你最好只使用 djs v12

【讨论】:

【参考方案2】:

打开你的 package.json

并添加

"dependencies": 
   "DiscordJS11": "npm:discord.js@11.6.4",
   "DiscordJS12": "npm:discord.js@12.4.1"

然后做

npm 安装

【讨论】:

【参考方案3】:

这似乎是一种不好的做法。想象一下使用 DiscordAPI 在 DiscordJs 11 到 12 中发生了重大变化。我猜您想使用 v12 的新功能,也许最好与现有的东西妥协或将 v11 代码重写为 v12。我希望 v11 到 v12 没有太多重大变化,不过 v13 有很多重大变化

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案4】:

您可以在 npm 中安装 discord.js-v11discord.js-v12 包。

在终端/cmd:

npm install discord.js-v11

在代码中:

const  Client, Intents  = require('discord.js-v11');
// code...

它也适用于 V12。 只需写 v12 而不是 v11。

【讨论】:

以上是关于我将如何使用两个不同版本的 discord.js | Discord.js 机器人的主要内容,如果未能解决你的问题,请参考以下文章

DISCORD.JS |我将如何执行升级和降级命令

我将如何“刷新”嵌入 discord.js 的不和谐?更多信息下来 vv

找不到节点:discord.js 的事件

我将如何创建一个踢服务器中每个人的机器人命令(discord.js-commando)[关闭]

如何在 discord.js 中使用 FS 将richEmbed 保存到文件中?

如何在 discord.js 中同时向不同频道发送消息?