mirror of
https://github.com/natsukagami/youmubot.git
synced 2025-04-19 08:48:54 +00:00
Add link to score details and replay
This commit is contained in:
parent
5cf74e425e
commit
00b8c9e145
3 changed files with 27 additions and 8 deletions
|
@ -9,7 +9,7 @@ use serenity::{
|
|||
builder::{CreateEmbed, CreateEmbedAuthor, CreateEmbedFooter},
|
||||
utils::MessageBuilder,
|
||||
};
|
||||
use std::time::Duration;
|
||||
use std::{borrow::Cow, time::Duration};
|
||||
use youmubot_prelude::*;
|
||||
|
||||
/// Writes a number grouped in groups of 3.
|
||||
|
@ -411,9 +411,15 @@ impl<'a> ScoreEmbedBuilder<'a> {
|
|||
.build(),
|
||||
)
|
||||
.description(format!(
|
||||
r#"**Played**: {}
|
||||
r#"**Played**: {} {} {}
|
||||
{}"#,
|
||||
s.date.format("<t:%s:R>"),
|
||||
s.link()
|
||||
.map(|s| format!("[Score]({})", s).into())
|
||||
.unwrap_or(Cow::from("")),
|
||||
s.replay_download_link()
|
||||
.map(|s| format!("[Replay]({})", s).into())
|
||||
.unwrap_or(Cow::from("")),
|
||||
pp_gained.as_ref().map(|v| &v[..]).unwrap_or(""),
|
||||
))
|
||||
.thumbnail(b.thumbnail_url())
|
||||
|
|
|
@ -609,4 +609,20 @@ impl Score {
|
|||
pub fn accuracy(&self, _mode: Mode) -> f64 {
|
||||
self.server_accuracy
|
||||
}
|
||||
|
||||
/// Gets the link to the score, if it exists.
|
||||
pub fn link(&self) -> Option<String> {
|
||||
self.id
|
||||
.map(|id| format!("https://osu.ppy.sh/scores/{}", id))
|
||||
}
|
||||
|
||||
/// Gets the link to the replay, if it exists.
|
||||
pub fn replay_download_link(&self) -> Option<String> {
|
||||
let id = self.id?;
|
||||
if self.replay_available {
|
||||
Some(format!("https://osu.ppy.sh/scores/{}/download", id))
|
||||
} else {
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
use rosu_v2::{
|
||||
model::{
|
||||
use rosu_v2::model::{
|
||||
self as rosu,
|
||||
mods::{GameModIntermode, GameModsIntermode},
|
||||
},
|
||||
prelude::Acronym,
|
||||
};
|
||||
|
||||
use super::*;
|
||||
|
|
Loading…
Add table
Reference in a new issue