3_cookies/
3_cookies.rs

1extern crate dcss_api;
2
3use dcss_api::Webtile;
4
5fn main() {
6    // Connect to DCSS Webtile
7    let mut webtile =
8        Webtile::connect("ws://localhost:8080/socket", 100).expect("Failed to connect");
9
10    // Empty message queue;
11    while webtile.get_message().is_some() {}
12
13    // Log in (to a user called "Username", with a password "Password")
14    let _gameid = webtile
15        .login_with_credentials("Username", "Password")
16        .expect("Failed to login");
17
18    // Empty message queue;
19    while webtile.get_message().is_some() {}
20
21    // Get cookie from the game
22    let cookie = webtile.request_cookie().unwrap();
23
24    println!("{cookie}");
25
26    // Empty message queue;
27    while webtile.get_message().is_some() {}
28
29    // Disconnect from DCSS Webtile
30    webtile.disconnect().expect("Failed to disconnect.");
31
32    // Connect (again) to DCSS Webtile
33    let mut webtile =
34        Webtile::connect("ws://localhost:8080/socket", 100).expect("Failed to connect");
35
36    // Empty message queue;
37    while webtile.get_message().is_some() {}
38
39    // Login with cookie
40    let _gameid = webtile
41        .login_with_cookie(cookie.as_str())
42        .expect("Failed to login");
43
44    // Empty message queue;
45    while webtile.get_message().is_some() {}
46
47    // Disconnect from DCSS Webtile
48    webtile.disconnect().expect("Failed to disconnect.");
49}