Как отправить DM с помощью Discord-бота с помощью Discord. js - PullRequest
0 голосов
/ 27 мая 2020

Итак, я пытаюсь создать бота, у которого есть команда для отправки «тикета», который похож на предупреждение, за исключением того, что он отправляет настраиваемое сообщение в DM. Вот мой код:

const bot = new Discord.Client()
const token = token here;
const PREFIX = '/';
const embed = new Discord.MessageEmbed()
const ping = require('minecraft-server-util')
bot.on('ready', async () => {
  console.log('This bot is online! Created by @littleBitsman.');
})

bot.on('message', message => {
  let args = message.content.substring(PREFIX.length).split(' ')
  if(message.content.startsWith(PREFIX))
  switch (args[0]) {
    case 'ticket':
      if (message.member.roles.highest == '701895573737046066') {
        mention = message.mentions.users.first()
        var thing = args.shift()
        thing = args.shift()
        thing = thing.replace(",", " ")
        if(mention = null) {return}
        var message = new Discord.MessageEmbed()
          .setTitle('Ticket')
          .setDescription('Hey ' + mention + '! You recieved this because of: ' + args +'.')
        message.channel.type(`dm`) + message.channel.send(mentionMessage)
      }
      }
  })
bot.login(token);

Я удалил весь другой код, который не имел отношения к этому вопросу.

1 Ответ

1 голос
/ 27 мая 2020

Чтобы отправить сообщение указанному c пользователю, вы можете сделать message.client.users.fetch(`insert_ID`).then(user => user.send('message')).

Похоже, вы пытаетесь отправить сообщение упомянутому пользователю. В этом случае:

message.client.users.fetch(`${mention.id}`).then(user => user.send('insert_message')). Надеюсь, это поможет!

...