feat(messaging): cap total text content to 2k characters

This commit is contained in:
Paul Makles
2022-06-20 11:09:14 +01:00
parent 7fc4fb2df7
commit 4baab5d5d5
4 changed files with 33 additions and 0 deletions

View File

@@ -166,6 +166,31 @@ impl Message {
.await;
Ok(())
}
/// Validate the sum of content of a message is under threshold
pub fn validate_sum(
content: &Option<String>,
embeds: &Option<Vec<SendableEmbed>>,
) -> Result<()> {
let mut running_total = 0;
if let Some(content) = content {
running_total += content.len();
}
if let Some(embeds) = embeds {
for embed in embeds {
if let Some(desc) = &embed.description {
running_total += desc.len();
}
}
}
if running_total <= 2000 {
Ok(())
} else {
Err(Error::PayloadTooLarge)
}
}
}
pub trait IntoUsers {