You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 23:16:20 +00:00
Merge remote-tracking branch 'duckie-temp/main' into duckie-merge-2026-04-21
# Conflicts: # packages/communication/src/NitroMessages.ts # packages/communication/src/messages/incoming/IncomingHeader.ts # packages/communication/src/messages/outgoing/OutgoingHeader.ts
This commit is contained in:
@@ -1,14 +1,16 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class BadgeReceivedParser implements IMessageParser
|
||||
{
|
||||
private _badgeId: number;
|
||||
private _badgeCode: string;
|
||||
private _senderName: string;
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._badgeId = 0;
|
||||
this._badgeCode = null;
|
||||
this._senderName = '';
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -19,6 +21,10 @@ export class BadgeReceivedParser implements IMessageParser
|
||||
|
||||
this._badgeId = wrapper.readInt();
|
||||
this._badgeCode = wrapper.readString();
|
||||
// Extra field appended by the Arcturus-Nitro fork: sender username for
|
||||
// badges awarded by a staff member via the `:badge` command. Read
|
||||
// defensively so older servers that don't send it still parse cleanly.
|
||||
this._senderName = wrapper.bytesAvailable ? wrapper.readString() : '';
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -32,4 +38,9 @@ export class BadgeReceivedParser implements IMessageParser
|
||||
{
|
||||
return this._badgeCode;
|
||||
}
|
||||
|
||||
public get senderName(): string
|
||||
{
|
||||
return this._senderName;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,3 +13,4 @@ export * from './pet';
|
||||
export * from './session';
|
||||
export * from './unit';
|
||||
export * from './unit/chat';
|
||||
export * from './youtube';
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class YouTubeRoomBroadcastParser implements IMessageParser
|
||||
{
|
||||
private _videoId: string;
|
||||
private _senderName: string;
|
||||
private _playlist: string[];
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._videoId = '';
|
||||
this._senderName = '';
|
||||
this._playlist = [];
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
|
||||
this._videoId = wrapper.readString();
|
||||
this._senderName = wrapper.readString();
|
||||
const count = wrapper.readInt();
|
||||
this._playlist = [];
|
||||
for(let i = 0; i < count; i++)
|
||||
{
|
||||
this._playlist.push(wrapper.readString());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public get videoId(): string { return this._videoId; }
|
||||
public get senderName(): string { return this._senderName; }
|
||||
public get playlist(): string[] { return this._playlist; }
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class YouTubeRoomSettingsParser implements IMessageParser
|
||||
{
|
||||
private _youtubeEnabled: boolean;
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._youtubeEnabled = false;
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
this._youtubeEnabled = wrapper.readInt() === 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
public get youtubeEnabled(): boolean { return this._youtubeEnabled; }
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class YouTubeRoomWatchersParser implements IMessageParser
|
||||
{
|
||||
private _watcherIds: number[];
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._watcherIds = [];
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
|
||||
const count = wrapper.readInt();
|
||||
this._watcherIds = [];
|
||||
for(let i = 0; i < count; i++)
|
||||
{
|
||||
this._watcherIds.push(wrapper.readInt());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public get watcherIds(): number[] { return this._watcherIds; }
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
export * from './YouTubeRoomBroadcastParser';
|
||||
export * from './YouTubeRoomSettingsParser';
|
||||
export * from './YouTubeRoomWatchersParser';
|
||||
Reference in New Issue
Block a user