2020-10-22 15:50:47 +00:00
|
|
|
import { Client } from '../models/client.ts'
|
|
|
|
import { Base } from './base.ts'
|
|
|
|
import { RolePayload } from '../types/roleTypes.ts'
|
|
|
|
|
2020-10-23 16:11:00 +00:00
|
|
|
export class Role extends Base {
|
2020-10-22 15:50:47 +00:00
|
|
|
id: string
|
|
|
|
name: string
|
|
|
|
color: number
|
|
|
|
hoist: boolean
|
|
|
|
position: number
|
|
|
|
permissions: string
|
|
|
|
managed: boolean
|
|
|
|
mentionable: boolean
|
|
|
|
|
2020-10-23 03:19:40 +00:00
|
|
|
get mention () {
|
|
|
|
return `<@&${this.id}>`
|
|
|
|
}
|
|
|
|
|
2020-10-22 15:50:47 +00:00
|
|
|
constructor (client: Client, data: RolePayload) {
|
|
|
|
super(client)
|
|
|
|
this.id = data.id
|
|
|
|
this.name = data.name
|
|
|
|
this.color = data.color
|
|
|
|
this.hoist = data.hoist
|
|
|
|
this.position = data.position
|
|
|
|
this.permissions = data.permissions
|
|
|
|
this.managed = data.managed
|
|
|
|
this.mentionable = data.mentionable
|
|
|
|
}
|
|
|
|
}
|