如何将我的机器人的dm登录到其他服务器? | Discord.js

时间:2020-06-17 08:36:40

标签: node.js discord.js

我正在尝试将我的机器人的dm登录到其他服务器。我该怎么办?我正在使用V12 discord.js。

这是我的代码。

let channelID = "722595878636XX3XX5";
  let guildID = "722595878636XX3XX1";
  if(message.channel.type === `dm`){
    let embed = new Discord.RichEmbed()
    .setAuthor(client.guilds.cache.get(guildID).members.cache.get(message.author.id).displayName)
    .setColor('#7ED321')
    .setDescription(message.content);
    client.channels.cache.get(channelID).send(embed);
  }

2 个答案:

答案 0 :(得分:1)

client.on("message", (message) => {
    if (!message.guild) { // DM Message
        const Embed = new discord.MessageEmbed(); // In V12 RichEmbed changed to MessageEmbed;
        const Channel = client.channels.cache.get("ChannelID");
        Embed.setAuthor(`Private Message from ${message.author.tag}`, message.author.avatarURL()); // In V12 avatarURL is a method;
        Embed.setColor("#7ED321");
        Embed.setDescription(message.content);
        if (!Channel) {return console.error(`Invalid Channel`)};
        Channel.send(Embed);
    };
});

答案 1 :(得分:0)

基本上,如果您要尝试这样做:

const { Client, MessageEmbed } = require('discord.js');
const client = new Client();

client.on("message", async message => {
    if (!message.guild) { // if there is no guild, then this is a DM
        var embed = new MessageEmbed() // creates new embed (use MessageEmbed for v12)
            .setTitle(`DM recieved from ${message.author.tag} (${message.author.id})`)
            .setDescription(message.content)
            .setTimestamp();
        var channel = client.channels.cache.get("ChannelID"); // get channel
        channel.send(embed); // send embed
    }
});