そう。不協和音ボットを作成しようとしていますが、Discord.jsを理解できません。私のコードは次のようになります。
client.on("message", function(message) {
if(message.content === "ping") {
client.message.send(author, "pong");
}
});
そして問題は、メッセージの送信方法を十分に理解できないことです。
誰でも私を助けることができますか?
.send()
行にエラーがあります。現在のコードは、discord.jsライブラリの以前のバージョンで使用されており、送信機能が変更されています。
メッセージを送信するには、次の行を使用します。
message.channel.send('My Message')
message
がdefined
ではないというエラーが表示された場合は、メッセージイベントハンドラーに行を入れたことを確認してください。
client.on("message", function(message) {
//message sending goes here
});
特定のchannelにメッセージを送信することもできます。これは、以下の行を使用して実行できます。
client.channels.get(channelID).send('My Message');
または、必要に応じて、ギルドのデフォルトチャネル(ギルドが作成されたときに作成された#generalチャネル)
guildObj.defaultChannel.send('My Message');
これがお役に立てば幸いです、
-スパイ
以下に、ユーザーに直接メッセージを送信するスクリプトを示します。
この場合、メッセージは応答ではなく、選択したユーザーに直接送信される新しいメッセージです。
require('dotenv').config({ path: __dirname + '/.env.local' });
const Discord = require("discord.js");
const client = new Discord.Client();
client.on("ready", () => {
console.log(client.users.get('ID_OF_USER').send("hello"));
});
client.login(process.env.DISCORD_BOT_TOKEN);
その他のドキュメント: