Module Bernard_j_ortcutt.Bot

val get_full_listing : Core.Source_code_position.t -> retry_manager:Bernard_j_ortcutt.Import.Retry_manager.t -> get_listing:(?⁠pagination:Bernard_j_ortcutt.Import.Listing.Pagination.t -> limit:int -> unit -> 'a Bernard_j_ortcutt.Import.Listing.t Reddit_api_kernel.Api.t) -> 'a list Async.Deferred.t
val target_of_thing : [< `Comment of Bernard_j_ortcutt.Import.Thing.Comment.t | `Link of Bernard_j_ortcutt.Import.Thing.Link.t ] -> Action.Target.t
module Per_subreddit : sig ... end
type t = {
subreddits : Per_subreddit.t list;
retry_manager : Bernard_j_ortcutt.Import.Retry_manager.t;
database : Database.t;
}
val create : subreddit_configs:(Reddit_api_kernel.Subreddit_name.t, Rule.t list'a) Core.Map.t -> connection:Reddit_api_async__.Connection.t -> database:Database.t -> t Async_kernel__Deferred.t
val refresh_subreddit_tables : t -> unit Async_kernel__Deferred.t
val run_forever : t -> unit Async_kernel__Deferred.t
val connection_param : Bernard_j_ortcutt.Import.Connection.t Core__Core_command.Param.t
val per_subreddit_param : Rule.t list Bernard_j_ortcutt.Import.Subreddit_name.Map.t Async_kernel__Deferred.t Core__Core_command.Param.t
val database_param : Pgx_async.t Pgx_async.Io.t Core__Core_command.Param.t
val param : (unit -> unit Async_kernel__Deferred.t) Core__Core_command.Param.t
val command : Async.Command.t