(message, data)
| 15 | } |
| 16 | |
| 17 | export function formatWelcomeMessage(message, data) { |
| 18 | |
| 19 | if (typeof message !== 'string') return ''; |
| 20 | if (!message) return ''; |
| 21 | if (!data || typeof data !== 'object') return message; |
| 22 | |
| 23 | const user = data?.user; |
| 24 | const guild = data?.guild; |
| 25 | |
| 26 | if (!user || typeof user !== 'object') { |
| 27 | logger.warn('Invalid user object passed to formatWelcomeMessage'); |
| 28 | } |
| 29 | if (!guild || typeof guild !== 'object') { |
| 30 | logger.warn('Invalid guild object passed to formatWelcomeMessage'); |
| 31 | } |
| 32 | |
| 33 | const tokens = { |
| 34 | '{user}': user?.toString?.() || 'User', |
| 35 | '{user.mention}': user?.toString?.() || 'User', |
| 36 | '{user.tag}': user?.tag || 'Unknown#0000', |
| 37 | '{user.username}': user?.username || 'Unknown', |
| 38 | '{username}': user?.username || 'Unknown', |
| 39 | '{user.discriminator}': user?.discriminator || '0000', |
| 40 | '{user.id}': user?.id || 'unknown', |
| 41 | '{server}': guild?.name || 'Server', |
| 42 | '{server.name}': guild?.name || 'Server', |
| 43 | '{guild.name}': guild?.name || 'Server', |
| 44 | '{guild.id}': guild?.id || 'unknown', |
| 45 | '{guild.memberCount}': guild?.memberCount?.toString?.() || '0', |
| 46 | '{memberCount}': guild?.memberCount?.toString?.() || '0', |
| 47 | '{membercount}': guild?.memberCount?.toString?.() || '0' |
| 48 | }; |
| 49 | |
| 50 | let result = message; |
| 51 | for (const [token, value] of Object.entries(tokens)) { |
| 52 | if (value === undefined || value === null) continue; |
| 53 | result = replaceAll(result, token, String(value)); |
| 54 | } |
| 55 | |
| 56 | return result; |
| 57 | } |
| 58 | |
| 59 | export function getDefaultWelcomeMessage() { |
| 60 | return DEFAULT_TEMPLATES.welcome; |
no test coverage detected