Binato/server/packets/UserPresence.ts

34 lines
850 B
TypeScript
Raw Normal View History

2022-11-23 00:48:28 +00:00
import { SharedContent } from "../interfaces/SharedContent";
2022-11-19 01:06:03 +00:00
import { User } from "../objects/User";
const osu = require("osu-packet");
2022-11-21 23:26:20 +00:00
export function UserPresence(arg0:User | SharedContent, id:number) {
2022-11-19 01:06:03 +00:00
const osuPacketWriter = new osu.Bancho.Writer;
2022-11-21 23:26:20 +00:00
let sharedContent:SharedContent;
if (arg0 instanceof User) {
sharedContent = arg0.sharedContent;
} else {
sharedContent = arg0;
}
2022-11-19 01:06:03 +00:00
2022-11-21 23:26:20 +00:00
const userData = sharedContent.users.getById(id);
2022-11-19 01:06:03 +00:00
if (userData == null) return;
osuPacketWriter.UserPresence({
userId: id,
username: userData.username,
timezone: 0,
countryId: userData.countryID,
permissions: 4,
longitude: userData.location.longitude,
latitude: userData.location.latitude,
rank: userData.rank
});
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
}