My agentic slop goes here. Not intended for anyone else!
at jsont 1.5 kB view raw
1open Zulip 2 3let () = Eio_main.run @@ fun env -> 4 Eio.Switch.run @@ fun sw -> 5 6 Printf.printf "OCaml Zulip Library Example\n"; 7 Printf.printf "===========================\n\n"; 8 9 (* Create authentication *) 10 let auth = Auth.create 11 ~server_url:"https://example.zulipchat.com" 12 ~email:"bot@example.com" 13 ~api_key:"your-api-key" in 14 15 Printf.printf "Created auth for: %s\n" (Auth.email auth); 16 Printf.printf "Server URL: %s\n" (Auth.server_url auth); 17 18 (* Create a message *) 19 let message = Message.create 20 ~type_:`Channel 21 ~to_:["general"] 22 ~content:"Hello from OCaml Zulip library!" 23 ~topic:"Test" 24 () in 25 26 Printf.printf "\nCreated message:\n"; 27 Printf.printf "- Type: %s\n" (Message_type.to_string (Message.type_ message)); 28 Printf.printf "- To: %s\n" (String.concat ", " (Message.to_ message)); 29 Printf.printf "- Content: %s\n" (Message.content message); 30 Printf.printf "- Topic: %s\n" 31 (match Message.topic message with Some t -> t | None -> "None"); 32 33 (* Test JSON serialization *) 34 let json_str = Message.to_json_string message in 35 Printf.printf "\nMessage JSON: %s\n" json_str; 36 37 (* Create client *) 38 let client = Client.create ~sw env auth in 39 Printf.printf "\nCreated client\n"; 40 41 (* Test basic client request *) 42 (match Client.request client ~method_:`GET ~path:"/test" () with 43 | Ok _ -> Printf.printf "Mock request succeeded\n" 44 | Error err -> Printf.printf "Mock request failed: %s\n" (Zulip.error_message err)); 45 46 Printf.printf "\nLibrary is working correctly!\n"