My agentic slop goes here. Not intended for anyone else!
at main 1.8 kB view raw
1(** Vicuna Bot - User Registration and Management Bot for Zulip *) 2 3(** Create a Vicuna bot handler instance *) 4val create_handler : 5 Zulip_bot.Bot_config.t -> 6 Zulip_bot.Bot_storage.t -> 7 Zulip_bot.Bot_handler.Identity.t -> 8 Zulip_bot.Bot_handler.t 9 10(** {1 CLI Management Functions} *) 11 12(** Default admin user ID *) 13val default_admin_id : int 14 15(** Register a user with optional admin flag *) 16val register_user : 17 ?is_admin:bool -> 18 Zulip_bot.Bot_storage.t -> 19 string -> 20 int -> 21 string -> 22 (unit, Zulip.zerror) result 23 24(** Delete a user by Zulip ID *) 25val delete_user : 26 Zulip_bot.Bot_storage.t -> 27 int -> 28 (unit, Zulip.zerror) result 29 30(** Check if a user is an admin *) 31val is_admin : 32 Zulip_bot.Bot_storage.t -> 33 int -> 34 bool 35 36(** Set admin status for a user *) 37val set_admin : 38 Zulip_bot.Bot_storage.t -> 39 int -> 40 bool -> 41 (unit, Zulip.zerror) result 42 43(** Get all registered user IDs *) 44val get_all_user_ids : 45 Zulip_bot.Bot_storage.t -> 46 int list 47 48(** Look up a user by Zulip ID *) 49type user_registration = { 50 email: string; 51 zulip_id: int; 52 full_name: string; 53 registered_at: float; 54 is_admin: bool; 55} 56 57val lookup_user_by_id : 58 Zulip_bot.Bot_storage.t -> 59 int -> 60 user_registration option 61 62(** {1 Storage Management Functions} *) 63 64(** Get all storage keys *) 65val get_storage_keys : 66 Zulip_bot.Bot_storage.t -> 67 (string list, Zulip.zerror) result 68 69(** Get the value of a specific storage key *) 70val get_storage_value : 71 Zulip_bot.Bot_storage.t -> 72 string -> 73 string option 74 75(** Delete a specific storage key *) 76val delete_storage_key : 77 Zulip_bot.Bot_storage.t -> 78 string -> 79 (unit, Zulip.zerror) result 80 81(** Clear all storage (delete all keys) *) 82val clear_storage : 83 Zulip_bot.Bot_storage.t -> 84 (unit, Zulip.zerror) result