2023-09-10 12:59:22 +01:00
|
|
|
import osu from "../../osuTyping";
|
|
|
|
import Shared from "../objects/Shared";
|
|
|
|
import User from "../objects/User";
|
2022-11-19 01:06:03 +00:00
|
|
|
|
2023-09-10 12:59:22 +01:00
|
|
|
export default function UserPresenceBundle(arg0:User | Shared) : Buffer {
|
2023-08-20 13:03:01 +01:00
|
|
|
const osuPacketWriter = osu.Bancho.Writer();
|
|
|
|
let shared:Shared;
|
2022-11-21 23:26:20 +00:00
|
|
|
if (arg0 instanceof User) {
|
2023-08-20 13:03:01 +01:00
|
|
|
shared = arg0.shared;
|
2022-11-21 23:26:20 +00:00
|
|
|
} else {
|
2023-08-20 13:03:01 +01:00
|
|
|
shared = arg0;
|
2022-11-21 23:26:20 +00:00
|
|
|
}
|
2022-11-19 01:06:03 +00:00
|
|
|
|
|
|
|
let userIds:Array<number> = new Array<number>();
|
|
|
|
|
2023-10-03 09:57:35 +01:00
|
|
|
for (const userData of shared.users.getIterableItems()) {
|
2022-11-19 01:06:03 +00:00
|
|
|
userIds.push(userData.id);
|
|
|
|
}
|
|
|
|
|
|
|
|
osuPacketWriter.UserPresenceBundle(userIds);
|
|
|
|
|
2022-11-21 23:26:20 +00:00
|
|
|
if (arg0 instanceof User) {
|
|
|
|
arg0.addActionToQueue(osuPacketWriter.toBuffer);
|
|
|
|
}
|
|
|
|
|
|
|
|
return osuPacketWriter.toBuffer;
|
2022-11-19 01:06:03 +00:00
|
|
|
}
|