pusk/bin/main.ml

40 lines
1.1 KiB
OCaml

open Pusk.Net
open Pusk.Drivers
open Pusk.Utils
let start driver =
let name_driver = prepare driver in
let data_driver = run_process name_driver [] in
let session_id = get_session () in
data_driver, session_id
;;
let stop (driver_process, session_id) =
if not (close_session session_id) then print_endline "Can't close the session";
stop_process driver_process
;;
let main session_id =
(* Load credentials *)
load_dotenv;
let username, password =
match Sys.getenv_opt "TWITTER_USERNAME", Sys.getenv_opt "TWITTER_PASSWORD" with
| Some u, Some p -> u, p
| None, None -> raise (Any "Username and password not set")
| None, Some _ -> raise (Any "Username not set")
| Some _, None -> raise (Any "Password not set")
in
(* Navigate to login page *)
ignore (navigate "https://twitter.com/i/flow/login" session_id);
(* Extra wait to be sure the page is loaded *)
Unix.sleep 5;
(* DEBUG *)
print_endline (fmt "%s:%s" username password)
;;
let () =
let data = start (Gecko "0.33.0") in
(try main (snd data) with
| Any why -> print_endline why);
stop data
;;