好的,所以基本上我尝试这样做
if(message.guild.channels.find(c => c.name.includes(message.author.username.replace(/^\s+/g, ' ') + message.author.discriminator))) return message.channel.send(`You already have an open ticket!`)
message.guild.createChannel(message.author.username.split(" ") + message.author.discriminator, {
type: "text",
permissionOverwrites: [{
id: message.author.id,
deny: [],
allow: ["SEND_MESSAGES", "READ_MESSAGES"]
}]
}).then(chn => {
chn.overwritePermissions(message.guild.id, {
"SEND_MESSAGES": false,
"READ_MESSAGES": false
})
}).then(chan=> {
message.channel.send(`Successfully created a ticket!`)
})
但是那没有用,我在这里某处可能真的很错,没有人知道我可以如何在名称中对空白进行切片/修剪,以便我可以查找票证?
答案 0 :(得分:0)
要从字符串中删除所有空格,请使用以下regex: /\s+/g
\s
匹配任何空格字符(空格,换行符,其他Unicode空格)。+
与前面的令牌/组中的一个或多个匹配,并尽可能地匹配并返回(这称为贪婪)。g
标志代表 g lob,表示每次匹配。
const str = 'sloth if ul#3802';
console.log(str);
console.log(str.replace(/\s+/g, '_'));
将其付诸实践...
// User.tag === User.username + User.discriminator
const cleanTag = message.author.tag.replace(/\s+/g, '_');