因此,我试图用一个命令来警告DM中的某人。我所拥有的是,第一个参数是/ticket
,第二个参数是提及,然后第三个参数是原因的第一个单词,第四个参数是原因的第二个单词,依此类推。我遇到的麻烦是将第3个参数更改为1个参数的原因。所以这是我的代码:
const Discord = require('discord.js')
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()
var reason
reason = args.shift()
mentionID = mention.id
if(mention = null) {return}
var messagetosend = new Discord.MessageEmbed()
.setTitle('Ticket')
.setDescription('Hey ' + thing + '! You recieved this because of: ' + reason + '.')
message.client.users.fetch(`${mentionID}`).then(user => user.send(messagetosend))
}
}
})
bot.login(token);
我会改变方法,如果我理解正确的话,命令是这样的:/ ticket @person不良行为
消息应该是:嘿,人!您收到此邮件的原因是:不良行为
所以我会这样:
mention = message.mentions.users.first()
if(mention = null) {return}
args.splice(0,2) //removes prefix and mention
reason = args.join(" ")
var messagetosend = new Discord.MessageEmbed()
.setTitle('Ticket')
.setDescription('Hey ' + mention + '! You recieved this because of: ' + reason + '.')
message.client.users.fetch(`${mentionID}`).then(user => user.send(messagetosend))
随心所欲地更改
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句