feat(communication): housekeeping economy — 4 composers

OutgoingHeader 9117-9120: give-credits, give-currency (generic across
duckets/diamonds/seasonal via a currencyType int), grant-item,
set-hc-subscription. All four ride the existing
HousekeepingActionResultEvent — no new parser needed.

`yarn compile:fast` clean.
This commit is contained in:
simoleo89
2026-05-24 11:30:53 +02:00
committed by simoleo89
parent 597cd2402f
commit 386bf79ddc
7 changed files with 57 additions and 1 deletions
+5 -1
View File
@@ -7,7 +7,7 @@ import { ConfInvisStateMessageEvent } from './messages';
import { HanditemBlockStateMessageEvent } from './messages';
import { TranslationLanguagesEvent, TranslationLanguagesRequestComposer, TranslationResultEvent, TranslationTextRequestComposer } from './messages';
import { YouTubeRoomBroadcastEvent, YouTubeRoomPlayComposer, YouTubeRoomSettingsComposer, YouTubeRoomSettingsEvent, YouTubeRoomWatchersEvent, YouTubeRoomWatchingComposer } from './messages';
import { HousekeepingActionResultEvent, HousekeepingBanUserComposer, HousekeepingDeleteRoomComposer, HousekeepingFindRoomByIdComposer, HousekeepingFindUserByIdComposer, HousekeepingFindUserByNameComposer, HousekeepingForceDisconnectUserComposer, HousekeepingKickAllFromRoomComposer, HousekeepingKickUserComposer, HousekeepingMuteRoomComposer, HousekeepingMuteUserComposer, HousekeepingResetUserPasswordComposer, HousekeepingRoomDetailEvent, HousekeepingRoomListEvent, HousekeepingRoomStateComposer, HousekeepingSearchRoomsComposer, HousekeepingSetUserRankComposer, HousekeepingTradeLockUserComposer, HousekeepingTransferRoomOwnershipComposer, HousekeepingUnbanUserComposer, HousekeepingUserDetailEvent } from './messages';
import { HousekeepingActionResultEvent, HousekeepingBanUserComposer, HousekeepingDeleteRoomComposer, HousekeepingFindRoomByIdComposer, HousekeepingFindUserByIdComposer, HousekeepingFindUserByNameComposer, HousekeepingForceDisconnectUserComposer, HousekeepingGiveCreditsComposer, HousekeepingGiveCurrencyComposer, HousekeepingGrantItemComposer, HousekeepingKickAllFromRoomComposer, HousekeepingKickUserComposer, HousekeepingMuteRoomComposer, HousekeepingMuteUserComposer, HousekeepingResetUserPasswordComposer, HousekeepingRoomDetailEvent, HousekeepingRoomListEvent, HousekeepingRoomStateComposer, HousekeepingSearchRoomsComposer, HousekeepingSetHcSubscriptionComposer, HousekeepingSetUserRankComposer, HousekeepingTradeLockUserComposer, HousekeepingTransferRoomOwnershipComposer, HousekeepingUnbanUserComposer, HousekeepingUserDetailEvent } from './messages';
export class NitroMessages implements IMessageConfiguration
{
private _events: Map<number, Function>;
@@ -1281,6 +1281,10 @@ export class NitroMessages implements IMessageConfiguration
this._composers.set(OutgoingHeader.HOUSEKEEPING_KICK_ALL_FROM_ROOM, HousekeepingKickAllFromRoomComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_TRANSFER_ROOM_OWNERSHIP, HousekeepingTransferRoomOwnershipComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_DELETE_ROOM, HousekeepingDeleteRoomComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_GIVE_CREDITS, HousekeepingGiveCreditsComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_GIVE_CURRENCY, HousekeepingGiveCurrencyComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_GRANT_ITEM, HousekeepingGrantItemComposer);
this._composers.set(OutgoingHeader.HOUSEKEEPING_SET_HC_SUBSCRIPTION, HousekeepingSetHcSubscriptionComposer);
}
public get events(): Map<number, Function>
@@ -541,4 +541,8 @@ export class OutgoingHeader
public static HOUSEKEEPING_KICK_ALL_FROM_ROOM = 9114;
public static HOUSEKEEPING_TRANSFER_ROOM_OWNERSHIP = 9115;
public static HOUSEKEEPING_DELETE_ROOM = 9116;
public static HOUSEKEEPING_GIVE_CREDITS = 9117;
public static HOUSEKEEPING_GIVE_CURRENCY = 9118;
public static HOUSEKEEPING_GRANT_ITEM = 9119;
public static HOUSEKEEPING_SET_HC_SUBSCRIPTION = 9120;
}
@@ -0,0 +1,11 @@
import { IMessageComposer } from '@nitrots/api';
export class HousekeepingGiveCreditsComposer implements IMessageComposer<ConstructorParameters<typeof HousekeepingGiveCreditsComposer>>
{
private _data: ConstructorParameters<typeof HousekeepingGiveCreditsComposer>;
constructor(userId: number, amount: number) { this._data = [userId, amount]; }
public getMessageArray() { return this._data; }
public dispose(): void { return; }
}
@@ -0,0 +1,11 @@
import { IMessageComposer } from '@nitrots/api';
export class HousekeepingGiveCurrencyComposer implements IMessageComposer<ConstructorParameters<typeof HousekeepingGiveCurrencyComposer>>
{
private _data: ConstructorParameters<typeof HousekeepingGiveCurrencyComposer>;
constructor(userId: number, currencyType: number, amount: number) { this._data = [userId, currencyType, amount]; }
public getMessageArray() { return this._data; }
public dispose(): void { return; }
}
@@ -0,0 +1,11 @@
import { IMessageComposer } from '@nitrots/api';
export class HousekeepingGrantItemComposer implements IMessageComposer<ConstructorParameters<typeof HousekeepingGrantItemComposer>>
{
private _data: ConstructorParameters<typeof HousekeepingGrantItemComposer>;
constructor(userId: number, itemId: number, quantity: number) { this._data = [userId, itemId, quantity]; }
public getMessageArray() { return this._data; }
public dispose(): void { return; }
}
@@ -0,0 +1,11 @@
import { IMessageComposer } from '@nitrots/api';
export class HousekeepingSetHcSubscriptionComposer implements IMessageComposer<ConstructorParameters<typeof HousekeepingSetHcSubscriptionComposer>>
{
private _data: ConstructorParameters<typeof HousekeepingSetHcSubscriptionComposer>;
constructor(userId: number, days: number) { this._data = [userId, days]; }
public getMessageArray() { return this._data; }
public dispose(): void { return; }
}
@@ -1,6 +1,9 @@
export * from './HousekeepingBanUserComposer';
export * from './HousekeepingDeleteRoomComposer';
export * from './HousekeepingFindRoomByIdComposer';
export * from './HousekeepingGiveCreditsComposer';
export * from './HousekeepingGiveCurrencyComposer';
export * from './HousekeepingGrantItemComposer';
export * from './HousekeepingFindUserByIdComposer';
export * from './HousekeepingFindUserByNameComposer';
export * from './HousekeepingForceDisconnectUserComposer';
@@ -11,6 +14,7 @@ export * from './HousekeepingMuteUserComposer';
export * from './HousekeepingResetUserPasswordComposer';
export * from './HousekeepingRoomStateComposer';
export * from './HousekeepingSearchRoomsComposer';
export * from './HousekeepingSetHcSubscriptionComposer';
export * from './HousekeepingSetUserRankComposer';
export * from './HousekeepingTradeLockUserComposer';
export * from './HousekeepingTransferRoomOwnershipComposer';