feat(communication): housekeeping mute-user + kick-user composers

OutgoingHeader 9104 HousekeepingMuteUserComposer — (userId, reason,
minutes). 9105 HousekeepingKickUserComposer — (userId, reason). Both
ride the existing HousekeepingActionResultEvent for the ack, so no
new parser is needed.

vitest 138/138, `yarn compile:fast` clean.
This commit is contained in:
simoleo89
2026-05-24 11:00:05 +02:00
committed by simoleo89
parent c9d8f32e62
commit 370b1fc100
5 changed files with 49 additions and 1 deletions
+3 -1
View File
@@ -7,7 +7,7 @@ import { ConfInvisStateMessageEvent } from './messages';
import { HanditemBlockStateMessageEvent } from './messages'; import { HanditemBlockStateMessageEvent } from './messages';
import { TranslationLanguagesEvent, TranslationLanguagesRequestComposer, TranslationResultEvent, TranslationTextRequestComposer } from './messages'; import { TranslationLanguagesEvent, TranslationLanguagesRequestComposer, TranslationResultEvent, TranslationTextRequestComposer } from './messages';
import { YouTubeRoomBroadcastEvent, YouTubeRoomPlayComposer, YouTubeRoomSettingsComposer, YouTubeRoomSettingsEvent, YouTubeRoomWatchersEvent, YouTubeRoomWatchingComposer } from './messages'; import { YouTubeRoomBroadcastEvent, YouTubeRoomPlayComposer, YouTubeRoomSettingsComposer, YouTubeRoomSettingsEvent, YouTubeRoomWatchersEvent, YouTubeRoomWatchingComposer } from './messages';
import { HousekeepingActionResultEvent, HousekeepingBanUserComposer, HousekeepingFindUserByIdComposer, HousekeepingFindUserByNameComposer, HousekeepingUnbanUserComposer, HousekeepingUserDetailEvent } from './messages'; import { HousekeepingActionResultEvent, HousekeepingBanUserComposer, HousekeepingFindUserByIdComposer, HousekeepingFindUserByNameComposer, HousekeepingKickUserComposer, HousekeepingMuteUserComposer, HousekeepingUnbanUserComposer, HousekeepingUserDetailEvent } from './messages';
export class NitroMessages implements IMessageConfiguration export class NitroMessages implements IMessageConfiguration
{ {
private _events: Map<number, Function>; private _events: Map<number, Function>;
@@ -1266,6 +1266,8 @@ export class NitroMessages implements IMessageConfiguration
this._composers.set(OutgoingHeader.HOUSEKEEPING_FIND_USER_BY_ID, HousekeepingFindUserByIdComposer); this._composers.set(OutgoingHeader.HOUSEKEEPING_FIND_USER_BY_ID, HousekeepingFindUserByIdComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_BAN_USER, HousekeepingBanUserComposer); this._composers.set(OutgoingHeader.HOUSEKEEPING_BAN_USER, HousekeepingBanUserComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_UNBAN_USER, HousekeepingUnbanUserComposer); this._composers.set(OutgoingHeader.HOUSEKEEPING_UNBAN_USER, HousekeepingUnbanUserComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_MUTE_USER, HousekeepingMuteUserComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_KICK_USER, HousekeepingKickUserComposer);
} }
public get events(): Map<number, Function> public get events(): Map<number, Function>
@@ -528,4 +528,6 @@ export class OutgoingHeader
public static HOUSEKEEPING_FIND_USER_BY_ID = 9101; public static HOUSEKEEPING_FIND_USER_BY_ID = 9101;
public static HOUSEKEEPING_BAN_USER = 9102; public static HOUSEKEEPING_BAN_USER = 9102;
public static HOUSEKEEPING_UNBAN_USER = 9103; public static HOUSEKEEPING_UNBAN_USER = 9103;
public static HOUSEKEEPING_MUTE_USER = 9104;
public static HOUSEKEEPING_KICK_USER = 9105;
} }
@@ -0,0 +1,21 @@
import { IMessageComposer } from '@nitrots/api';
export class HousekeepingKickUserComposer implements IMessageComposer<ConstructorParameters<typeof HousekeepingKickUserComposer>>
{
private _data: ConstructorParameters<typeof HousekeepingKickUserComposer>;
constructor(userId: number, reason: string)
{
this._data = [userId, reason];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}
@@ -0,0 +1,21 @@
import { IMessageComposer } from '@nitrots/api';
export class HousekeepingMuteUserComposer implements IMessageComposer<ConstructorParameters<typeof HousekeepingMuteUserComposer>>
{
private _data: ConstructorParameters<typeof HousekeepingMuteUserComposer>;
constructor(userId: number, reason: string, minutes: number)
{
this._data = [userId, reason, minutes];
}
public getMessageArray()
{
return this._data;
}
public dispose(): void
{
return;
}
}
@@ -1,4 +1,6 @@
export * from './HousekeepingBanUserComposer'; export * from './HousekeepingBanUserComposer';
export * from './HousekeepingFindUserByIdComposer'; export * from './HousekeepingFindUserByIdComposer';
export * from './HousekeepingFindUserByNameComposer'; export * from './HousekeepingFindUserByNameComposer';
export * from './HousekeepingKickUserComposer';
export * from './HousekeepingMuteUserComposer';
export * from './HousekeepingUnbanUserComposer'; export * from './HousekeepingUnbanUserComposer';