web-dev-qa-db-ja.com

Discord.jsでメッセージを送信する

そう。不協和音ボットを作成しようとしていますが、Discord.jsを理解できません。私のコードは次のようになります。

client.on("message", function(message) {
    if(message.content === "ping") {
        client.message.send(author, "pong");
    }
});

そして問題は、メッセージの送信方法を十分に理解できないことです。

誰でも私を助けることができますか?

13
Gabe

.send()行にエラーがあります。現在のコードは、discord.jsライブラリの以前のバージョンで使用されており、送信機能が変更されています。

メッセージを送信するには、次の行を使用します。

message.channel.send('My Message')

messagedefinedではないというエラーが表示された場合は、メッセージイベントハンドラーに行を入れたことを確認してください。

client.on("message", function(message) {
  //message sending goes here
});

特定のchannelにメッセージを送信することもできます。これは、以下の行を使用して実行できます。

client.channels.get(channelID).send('My Message');

または、必要に応じて、ギルドのデフォルトチャネル(ギルドが作成されたときに作成された#generalチャネル)

guildObj.defaultChannel.send('My Message');

これがお役に立てば幸いです、

-スパイ

22
Arct

以下に、ユーザーに直接メッセージを送信するスクリプトを示します。

この場合、メッセージは応答ではなく、選択したユーザーに直接送信される新しいメッセージです。

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);

その他のドキュメント:

https://github.com/AnIdiotsGuide/discordjs-bot-guide/blob/master/frequently-asked-questions.md#users-and-members

0
Daniel