mirror of
https://github.com/Stone-Red-Code/website.git
synced 2026-09-04 09:15:58 +02:00
33 lines
896 B
JavaScript
33 lines
896 B
JavaScript
const DEFAULT_AVATAR_MODULO = 5
|
|
module.exports = {
|
|
splitHash(identifier) {
|
|
const hashLocation = identifier.lastIndexOf("#")
|
|
|
|
if (hashLocation === -1) {
|
|
throw Error(`Invalid name format ${identifier}`)
|
|
}
|
|
|
|
const name = identifier.slice(0, hashLocation)
|
|
const hash = identifier.slice(hashLocation + 1)
|
|
return [name, hash]
|
|
},
|
|
getDefaultAvatar(hash) {
|
|
const avatar = hash % DEFAULT_AVATAR_MODULO
|
|
return `https://cdn.discordapp.com/embed/avatars/${avatar}.png`
|
|
},
|
|
resolveAuthor(users, author) {
|
|
const target = users.find(user => user.identifier === author)
|
|
const [name, hash] = this.splitHash(author)
|
|
const avatar = target ? target.avatar : this.getDefaultAvatar(hash)
|
|
|
|
return {
|
|
name,
|
|
hash,
|
|
avatar,
|
|
}
|
|
},
|
|
resolveAuthors(users, authors) {
|
|
return authors.map(author => this.resolveAuthor(users, author))
|
|
},
|
|
}
|