Cannot find module 'node:events' with discord.js when deploy aws lambda
11967 ワード
コマンドをチャンネルに送信するロボットを作成し、Server lessに配備しましたが、問題が発生しました.
discord.jsはnode v 16からサポートされていますが、問題はaws lambdaがv 14のみをサポートしていることです.
discord.jsを使わない他の方法を探すべきです.
問題コード
discord.jsはnode v 16からサポートされていますが、問題はaws lambdaがv 14のみをサポートしていることです.
discord.jsを使わない他の方法を探すべきです.
問題コード
const { Client, Intents } = require("discord.js");
require("dotenv").config({ path: `./.env.${process.env.NODE_ENV}` });
class DiscordBot {
constructor() {
this.client = new Client({
intents: [Intents.FLAGS.GUILDS],
});
}
async notify(msg, channel) {
try {
this.client.once("ready", async () => {
console.log(`Logged in as ${this.client.user.tag}!`);
const channelObj = this.client.channels.cache.get(channel);
await channelObj.send(msg);
this.client.destroy();
});
this.client.login(process.env.DISCORD_BOT_TOKEN);
return true;
} catch (error) {
console.error(error);
return false;
}
}
}
discord.jsパッケージは使用せず、discord APIおよびcreate messageを使用します.const superagent = require("superagent");
require("dotenv").config({ path: `./.env.${process.env.NODE_ENV}` });
class DiscordBot {
async notify(msg, channel) {
try {
const url = `https://discord.com/api/v8/channels/${channel}/messages`;
await superagent
.post(url)
.send({
content: msg,
})
.set({
authorization: `Bot ${process.env.DISCORD_BOT_TOKEN}`,
});
return true;
} catch (error) {
console.error(error);
return false;
}
}
}
Reference
この問題について(Cannot find module 'node:events' with discord.js when deploy aws lambda), 我々は、より多くの情報をここで見つけました https://velog.io/@samnaka/Cannot-find-module-nodeeventsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol