2022-11-21 23:26:20 +00:00
|
|
|
import { SharedContent } from "../BanchoServer";
|
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
|
|
|
}
|