Попытка обрезать / вырезать пробелы из имен пользователей Discord - PullRequest
0 голосов
/ 29 июня 2019

Хорошо, так что в основном я пытался сделать это

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!`)
})

Но это не сработало, возможно, я где-то здесь действительно ошибаюсь, кто-нибудь знает, как я могу нарезать / обрезать пробелы в имени, чтобы я мог искать билет?

1 Ответ

0 голосов
/ 29 июня 2019

Чтобы удалить все пробелы из строки, используйте это регулярное выражение : /\s+/g

  • \s соответствует любому символу пробела (пробелы, строкаbreaks, другие пробелы Unicode).
  • + соответствует одному или нескольким из предыдущих токенов / групп, сопоставляя и возвращая как можно больше (это называется жадностью).
  • The g флаг обозначает g lobal, что означает, что каждое вхождение совпадает.

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, '_');
...