Skip to content

Commit fd3cf29

Browse files
Made chat get the chats every 5 seconds
I would do every 3 seconds but I don't want my server with literally 1 gb of ram to explode
1 parent fbe0e77 commit fd3cf29

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ ureq = "3.0.11"
1010
mlua = { version = "0.10.3", features = ["lua54", "vendored"] }
1111
futures = "0.3.31"
1212
image = "0.25.6"
13+
crossbeam = "0.8.4"

src/main.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,8 @@ async fn main() {
542542
let mut current_mode: String = "1".to_string();
543543
let mut online_levels_beaten: Vec<u16> = vec![];
544544
let mut chats: String = "".to_string();
545+
let mut chat_timer: Timer = Timer::new(5.0);
546+
let (sender, receiver) = crossbeam::channel::bounded::<String>(1);
545547

546548
let mut cc_1001: Color = Color::new(0.0, 0.0, 0.2, 1.0);
547549
let mut cc_1002: Color = Color::new(0.0, 0.0, 0.3, 1.0);
@@ -1565,6 +1567,33 @@ async fn main() {
15651567
if back_button.is_clicked() {
15661568
game_state.0.set(GameState::Menu);
15671569
}
1570+
1571+
if chat_timer.update() {
1572+
println!("Thread started");
1573+
1574+
let get_chat_url_clone = get_chat_url.clone();
1575+
let thread_sender = sender.clone();
1576+
std::thread::spawn(move || {
1577+
let chat = ureq::get(get_chat_url_clone)
1578+
.call()
1579+
.unwrap()
1580+
.into_body()
1581+
.read_to_string()
1582+
.unwrap();
1583+
1584+
thread_sender.send(chat).unwrap();
1585+
});
1586+
1587+
match receiver.try_recv() {
1588+
Ok(result) => {
1589+
chats = result
1590+
},
1591+
Err(crossbeam::channel::TryRecvError::Empty) => {}
1592+
Err(crossbeam::channel::TryRecvError::Disconnected) => {
1593+
eprintln!("Channel disconnected");
1594+
}
1595+
}
1596+
}
15681597
}
15691598
}
15701599

0 commit comments

Comments
 (0)