TikTok-mGBA-Emulator/node/source/classes/modules/tiktok/User.ts

109 lines
No EOL
2.6 KiB
TypeScript

import { Gift } from "./Gift";
import { Message } from "./Message";
/**
* The possible roles of a follower
*/
export enum FollowerRole {
NONE = 0,
FOLLOWER = 1,
FRIEND = 2,
}
/**
* The User class represents a user in the TikTok Live chat
*/
export class User {
private userId: string;
private displayName: string;
private username: string;
private isFollower: boolean;
private isSubscriber: boolean;
private messages: Message[];
private gifts: Gift[];
/**
* Create a new User object
* @param data { userId: string, displayName: string, username: string, isFollower: boolean, isSubscriber: boolean }
*/
constructor(data: { userId: string, displayName: string, username: string, isFollower: boolean, isSubscriber: boolean }) {
this.userId = data.userId;
this.displayName = data.displayName;
this.username = data.username;
this.isFollower = data.isFollower;
this.isSubscriber = data.isSubscriber;
this.messages = [];
}
/**
* Get the unique identifier for the user
* @returns {string} The unique identifier for the user
*/
public getUserId(): string {
return this.userId;
}
/**
* Get the display name for the user
* @returns {string} The display name for the user
*/
public getDisplayName(): string {
return this.displayName;
}
/**
* Get the username for the user
* @returns {string} The username for the user
*/
public getUsername(): string {
return this.username;
}
/**
* Get the role of the follower
* @returns {FollowerRole} The role of the follower
*/
public getIsFollower(): boolean {
return this.isFollower;
}
/**
* Get the role of the subscriber
* @returns {boolean} The role of the subscriber
*/
public getIsSubscriber(): boolean {
return this.isSubscriber;
}
/**
* Get the messages for the user
* @returns {Message[]} The messages for the user
*/
public getMessages(): Message[] {
return this.messages;
}
/**
* Add a message to the user
* @param {Message} message The message to add to the user
*/
public addMessage(message: Message): void {
this.messages.push(message);
}
/**
* Get the gifts for the user
* @returns {Gift[]} The gifts for the user
*/
public getGifts(): Gift[] {
return this.gifts;
}
/**
* Add a gift to the user
* @param {Gift} gift The gift to add to the user
*/
public addGift(gift: Gift): void {
this.gifts.push(gift);
}
}