Badewanne3
Badewanne3
Slash commands appear to circumvent the role and channel permissions so it seems like checking `app_permissions` is currently unnecessary.
Seems like osu! itself doesn't distinguish temporary badges - https://github.com/ppy/osu-web/blob/9de00a0b874c56893d98261d558d78d76259d81b/app/Libraries/UsernameValidation.php#L81-L99 - https://github.com/ppy/osu-web/blob/1b7f203537ad259a564a12e16d72681a70680fab/resources/lang/en/model_validation.php#L136-L137 Since in general it's likely hard to determine when temporary badges of a user disappear, the issue won't...
This would require more data to be retrieved from the database on literally every invocation, whether it's required or not. Likely won't look further into it.
It's not really possible to know whether a user has ranked mapsets or badges if the osu!api returns a 404 for the user so this won't likely won't be fixed.
Similarly, user [/u/5366933](https://osu.ppy.sh/users/5366933) has a bunch of loved maps in their top scores 
At the moment there's indeed no way for users to undo that other than deleting the message. I'm putting it on my todo list and keep this open until I'm...
The feature is now removed entirely so I guess that settles this issue aswell 😄
Oboi how did I not notice this one, sorry woops. So for `osustatsglobals`, `osustatscount`, and `osustatslist` I pull the data directly from https://osustats.ppy.sh. Unfortunately, their API currently doesn't provide a...
The easiest way is to use a [`CompositeSerializer`](https://docs.rs/rkyv/latest/rkyv/ser/serializers/struct.CompositeSerializer.html), wrap your scratch in a [`ScratchTracker`](https://docs.rs/rkyv/latest/rkyv/ser/serializers/struct.ScratchTracker.html), serialize an instance with that serializer, and then check [`ScratchTracker::min_buffer_size`](https://docs.rs/rkyv/latest/rkyv/ser/serializers/struct.ScratchTracker.html#method.min_buffer_size) to see how much scratch space...
Here's a gist of how one can defer `*With` impls to a wrapper by introducing some intermediate traits: https://gist.github.com/MaxOhn/f5e2ea72f745f7c9ddec7d4963a6042d Essentially, you define a new type, implement `ToArchivable` (and `DeserializeWith` if...