mirror of
https://github.com/cloudmaker97/TikTok-mGBA-Emulator.git
synced 2025-12-06 07:58:38 +00:00
109 lines
No EOL
2.6 KiB
TypeScript
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);
|
|
}
|
|
} |