fix(client): split long replies into multiple chunks

This commit is contained in:
Ryan 2025-02-17 22:18:59 -05:00
parent dde489a8ed
commit 2cba4d797f
Signed by: ErrorNoInternet
GPG Key ID: 2486BFB7B1E6A4A3

View File

@ -19,14 +19,22 @@ pub struct CommandSource {
impl CommandSource {
pub fn reply(&self, message: &str) {
let response = if self.message.is_whisper()
for chunk in message
.chars()
.collect::<Vec<char>>()
.chunks(236)
.map(|chars| chars.iter().collect::<String>())
{
self.client.chat(
&(if self.message.is_whisper()
&& let Some(username) = self.message.username()
{
&format!("/w {username} {message}")
format!("/w {username} {chunk}")
} else {
message
};
self.client.chat(response);
chunk
}),
);
}
}
pub fn _entity(&mut self) -> Option<Entity> {