Пример #1
0
async def receiveUpdates(p: Player, pr: BanchoPacketReader) -> None:
    val, = await pr.read(osuTypes.i32)

    if val not in range(3):
        plog(f'{p} tried to set his presence filter to {val}?')
        return

    p.pres_filter = PresenceFilter(val)
Пример #2
0
    async def handle(self, p: Player) -> None:
        if not 0 <= self.value < 3:
            log(f'{p} tried to set his presence filter to {self.value}?')
            return

        p.pres_filter = PresenceFilter(self.value)
Пример #3
0
    # Leave the channel server-side.
    p.leave_channel(c)

    # Enqueue new channelinfo (playercount) to all players.
    glob.players.enqueue(packets.channelInfo(*c.basic_info))


# PacketID: 79
@bancho_packet(Packet.c_ReceiveUpdates)
def receiveUpdates(p: Player, pr: PacketReader) -> None:
    if (f := pr.read(osuTypes.i32)[0]) not in range(3):
        printlog(f'{p} tried to set his presence filter to {f}?')
        return

    p.pres_filter = PresenceFilter(f)


# PacketID: 82
@bancho_packet(Packet.c_setAwayMessage)
def setAwayMessage(p: Player, pr: PacketReader) -> None:
    pr.ignore(3)  # why does first string send \x0b\x00?
    p.away_msg = pr.read(osuTypes.string)[0]
    pr.ignore(4)


# PacketID: 85
@bancho_packet(Packet.c_userStatsRequest)
def statsRequest(p: Player, pr: PacketReader) -> None:
    if len(pr.data) < 6:
        return