33 lines
755 B
JavaScript
33 lines
755 B
JavaScript
function extractUserId(input) {
|
|
if (/^\d{17,19}$/.test(input)) {
|
|
return input;
|
|
}
|
|
|
|
const mentionRegex = /<@!?(\d{17,19})>/;
|
|
const match = input.match(mentionRegex);
|
|
|
|
if (match && match[1]) {
|
|
return match[1];
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
function processUserInput(input) {
|
|
// First try to split by commas
|
|
let parts = input.split(',').map(part => part.trim()).filter(part => part !== '');
|
|
|
|
// If we only have one part, try splitting by spaces
|
|
if (parts.length === 1) {
|
|
parts = input.split(/\s+/).filter(part => part !== '');
|
|
}
|
|
|
|
return parts
|
|
.map(part => extractUserId(part))
|
|
.filter(id => id !== null);
|
|
}
|
|
|
|
module.exports = {
|
|
extractUserId,
|
|
processUserInput
|
|
};
|