{:group-id "io.github.algoflora", :artifact-id "cloregram", :version "0.10.3", :analysis {"clj" ({:name cloregram.api, :publics ({:name get-file, :file "cloregram/api.clj", :line 72, :arglists ([file-id]), :added "0.9.1", :doc "Returns `java.io.File` or `nil` by `file-id`.\n", :type :var} {:name send-document, :file "cloregram/api.clj", :line 36, :arglists ([user file caption kbd & opts]), :added "0.4", :doc "Sends java.io.File in `file` as a temporary message with caption `caption` and inline keyboard `kbd` to `user`.\nPossible `opts`:\n\n| option | description | comment |\n|-------------|-------------|---------|\n| `:markdown` | Messsage will use Markdown parse_mode | |\n| Long value | Temporal Message ID you want to edit. It must be media message. `nil` as `kbd` value then means to leave keyboard layout unchanged | since 0.9.0 |", :type :var} {:name send-invoice, :file "cloregram/api.clj", :line 53, :arglists ([user data pay-text kbd]), :added "0.5", :doc "Sends invoice as 'temporal' message with inline keyboard `kbd` to `user`. Keyboard will have payment button with `pay-text` in the beginning and button to delete it in the end.\nDescription of `data` map (all keys required):\n\n| key | description |\n|-------------------|-------------|\n| `:title` | Product name, 1-32 characters\n| `:description` | Product description, 1-255 characters\n| `:payload` | Bot-defined invoice payload, 1-128 bytes. This will not be displayed to the user, use for your internal processes.\n| `:provider_token` | Payment provider token\n| `:currency` | Three-letter ISO 4217 currency code\n| `:prices` | Price breakdown, a JSON-serialized list of components (e.g. product price, tax, discount, delivery cost, delivery tax, bonus, etc.). Each component have to be map with keys `:label` (string) and `:amount` (integer price of the product in the smallest units of the currency)", :type :var} {:name send-message, :file "cloregram/api.clj", :line 5, :arglists ([user text kbd & opts]), :doc "Sends text message with content `text` and inline keyboard `kbd` to `user`.\nPossible `opts`:\n\n| option | description | comment |\n|-------------|-------------|---------|\n| `:temp` | Sends 'temporal' message that appears with notification under 'main' one. This message will have button to delete it in the end | |\n| `:markdown` | Messsage will use Markdown parse_mode | |\n| Long value | Temporal Message ID you want to edit. It must be text message. `nil` as `kbd` value then means to leave keyboard layout unchanged | since 0.9.0 |", :type :var} {:name send-photo, :file "cloregram/api.clj", :line 21, :arglists ([user file caption kbd & opts]), :added "0.9.1", :doc "Sends photo message with picture from java.io.File in `file` as a temporary message with caption `caption` and inline keyboard `kbd` to `user`.\nPossible `opts`:\n\n| option | description |\n|-------------|-------------|\n| `:markdown` | Messsage will use Markdown parse_mode |\n| Long value | Temporal Message ID you want to edit. It must be media message. `nil` as `kbd` value then means to leave keyboard layout unchanged |", :type :var})} {:name cloregram.core, :publics ({:name config, :file "cloregram/core.clj", :line 27, :arglists ([& keys]), :doc "Returns value (or nil) from project config nested map, using chain of `keys`\n", :type :var} {:name run, :file "cloregram/core.clj", :line 36, :arglists ([& args]), :doc "Main function. Configs used overriding each other:\n\n- default config of Cloregram framework\n- config from `config.dev.edn`, `config.test.edn` or `config.prod.edn` resource of project depending of current Leiningen profile\n- EDN-serialised configs from `java.io.File` files or `java.newt.URL` resources provided as arguments", :type :var})} {:name cloregram.database, :publics ({:name conn, :file "cloregram/database.clj", :line 7, :arglists ([]), :doc "Returns Datalevin database connection\n", :type :var} {:name db, :file "cloregram/database.clj", :line 16, :arglists ([]), :doc "Returns current Datalevin database state\n", :type :var} {:name load-data, :file "cloregram/database.clj", :line 25, :arglists ([]), :doc "Loads initial data from .edn files in resources folder 'data'. Re-write if something exists\n", :type :var})} {:name cloregram.filesystem, :publics ({:name temp-path, :file "cloregram/filesystem.clj", :line 13, :arglists ([path]), :added "0.9.1", :doc "Returns `java.nio.file.Path` object represents `java.nio.file.Path` argument `path` resolved relatively to current temporal directory root.\n", :type :var} {:name temp-root, :file "cloregram/filesystem.clj", :line 4, :doc "Returns common filesystem `java.nio.file.Path` object of unique root temp folder for this run: `/tmp////`. Redefine it if you need another folder or filesystem.\n", :type :var})} {:name cloregram.handler, :publics ({:name common, :file "cloregram/handler.clj", :line 12, :arglists ([{:keys [user]}]), :doc "Core handler of system. Must be overriden in project.\n", :type :var} {:name delete-message, :file "cloregram/handler.clj", :line 5, :arglists ([{:keys [mid user], :as params}]), :doc "Handler to delte message. Deletes the message with ID `mid` of `user`. Cleanups callbacks\n", :type :var} {:name payment, :file "cloregram/handler.clj", :line 19, :arglists ([{:keys [user payment]}]), :doc "Payments handler. Must be overriden in project if payments processing is necessary.\n", :type :var})} {:name cloregram.logging, :publics ({:name start-publishers!, :file "cloregram/logging.clj", :line 74, :arglists ([]), :type :var} {:name stop-publishers!, :file "cloregram/logging.clj", :line 92, :arglists ([]), :type :var})} {:name cloregram.users, :publics ({:name load-by-username, :file "cloregram/users.clj", :line 4, :arglists ([username]), :doc "Loads User structure by provided `username`. Useful for testing purposes.\n", :type :var} {:name set-handler, :file "cloregram/users.clj", :line 11, :arglists ([user handler args]), :doc "Set qualified symbol `handler` with `args` to `user`. This handler will be called instead of common one in case of text or media input from user.\n", :type :var})} {:name cloregram.utils, :publics ({:name deep-merge, :file "cloregram/utils.clj", :line 4, :arglists ([& maps]), :doc "Recursively merges maps\n", :type :var} {:name get-project-info, :file "cloregram/utils.clj", :line 22, :arglists ([]), :doc "This macro expands in map with keys `group`, `name` and `version` of current project by information from project.clj\n", :type :macro} {:name img-comparer, :file "cloregram/utils.clj", :line 45, :arglists ([img1 img2]), :type :var} {:name resolver, :file "cloregram/utils.clj", :line 33, :arglists ([sym]), :doc "Resolves symbol to value if exists\n", :type :var} {:name username, :file "cloregram/utils.clj", :line 15, :arglists ([user]), :doc "Helper to get human readable identificator of `user` even he don't have Telegram username\n", :type :var})} {:name cloregram.validation.client, :publics ({:name click-btn, :file "cloregram/validation/client.clj", :line 47, :arglists ([msg vuid row col] [msg vuid btn-text]), :added "0.9.1", :doc "Simulate clicking button in `row` and `col` or with text `btn` in message `msg` by virtual user with username `vuid`. Exception would be thrown if there is no expected button. Returns `msg`\n", :type :var} {:name pay-invoice, :file "cloregram/validation/client.clj", :line 67, :arglists ([msg vuid]), :added "0.9.1", :doc "Simulate payment for invoice from message `msg` by virtual user with username `vuid`. Returns `msg`\n", :type :var} {:name send-message, :file "cloregram/validation/client.clj", :line 5, :arglists ([vuid data & opts]), :doc "Simulate sending raw message represented in `data` by virtual user with username `vuid`. In most cases you don't need this function. Use it only if you definitely know what you are doing. Optionaly use `:silent` option to not save message in virtual user's state. Returns `vuid`.\n", :type :var} {:name send-photo, :file "cloregram/validation/client.clj", :line 31, :arglists ([vuid path] [vuid caption path] [vuid caption entities path]), :added "0.9.1", :doc "Simulate sending photo with optional `caption` from resource `path` by virtual user with username `vuid`. Optionaly `entities` array can be provided for formatting caption. Returns `vuid`.\n", :type :var} {:name send-text, :file "cloregram/validation/client.clj", :line 18, :arglists ([vuid text] [vuid text entities]), :doc "Simulate sending `text` by virtual user with username `vuid`. Optionaly `entities` array can be provided for formatting message. Returns `vuid`.\n", :type :var})} {:name cloregram.validation.fixtures, :publics ({:name load-initial-data, :file "cloregram/validation/fixtures.clj", :line 11, :arglists ([body]), :type :var} {:name use-test-environment, :file "cloregram/validation/fixtures.clj", :line 6, :arglists ([body]), :type :var})} {:name cloregram.validation.inspector, :publics ({:name check-btns, :file "cloregram/validation/inspector.clj", :line 65, :arglists ([msg btns]), :doc "Used to check inline keyboard layout for any kind of `msg`. Tests that buttons structure and texts in `msg` are equal to `btns`. Returns `msg`\n", :type :var} {:name check-document, :file "cloregram/validation/inspector.clj", :line 38, :arglists ([msg caption content]), :doc "Used to check that document message is correct. Tests that `caption` and `:caption` field of `msg` are equal and byte array `content` is equal to document in `msg`. Returns `msg`\n", :type :var} {:name check-invoice, :file "cloregram/validation/inspector.clj", :line 55, :arglists ([msg expected]), :doc "Used to check that invoice message is correct. Tests that `expected` and `:invoice` field of `msg` are equal. Returns `msg`\n", :type :var} {:name check-photo, :file "cloregram/validation/inspector.clj", :line 19, :arglists ([msg caption expected]), :doc "Used to check that photo message is correct. Tests that `caption` and `:caption` field of `msg` are equal and image in resource `expected` is equal to photo in `msg`. Returns `msg`\n", :type :var} {:name check-text, :file "cloregram/validation/inspector.clj", :line 9, :arglists ([msg text]), :doc "Used to check that text in text message is correct. Tests that `text` and `:text` field of `msg` are equal. Returns `msg`\n", :type :var})} {:name cloregram.validation.users, :publics ({:name add, :file "cloregram/validation/users.clj", :line 5, :arglists ([vuid]), :doc "Creates virtual user with username and first-name `vuid`, language-code 'en' and empty mesages storage. Writes this user into test infrastructure virtual users state storage with key `vuid`.\n", :type :var} {:name count-temp-messages, :file "cloregram/validation/users.clj", :line 41, :arglists ([vuid] [vuid timeout]), :added "0.9.1", :doc "Returns count of temporal messages of virtual user with key `vuid` from test infrastructure virtual users state storage. If virtual user is not awaiting response, then temporal messages count is returned immidiately. If virtual user is awaiting response, then function will wait until response or `timeout` milliseconds (default 2000). If awaiting of response not finished while timeout passed, Exception will be throwed.\n", :type :var} {:name get-v-user-by-vuid, :file "cloregram/validation/users.clj", :line 14, :arglists ([vuid]), :doc "Returns virtual user structure by key `vuid` from validation suit virtual users state storage\n", :type :var} {:name last-temp-message, :file "cloregram/validation/users.clj", :line 31, :arglists ([vuid] [vuid timeout]), :added "0.9.1", :doc "Returns last temporal message of virtual user with key `vuid` from test infrastructure virtual users state storage. If virtual user is not awaiting response, then temporal message structure or nil is returned immidiately. If virtual user is awaiting response, then function will wait until response or `timeout` milliseconds (default 2000). If awaiting of response not finished while timeout passed, Exception will be throwed.\n", :type :var} {:name main-message, :file "cloregram/validation/users.clj", :line 21, :arglists ([vuid] [vuid timeout]), :added "0.9.1", :doc "Returns main message of virtual user with key `vuid` from test infrastructure virtual users state storage. If virtual user is not awaiting response, then message structure or nil is returned immidiately. If virtual user is awaiting response, then function will wait until response or `timeout` milliseconds (default: 2000). If awaiting of response not finished while timeout passed, Exception will be throwed.\n", :type :var} {:name set-waiting-for-response, :file "cloregram/validation/users.clj", :line 53, :arglists ([vuid waiting-for-response?]), :added "0.9.1", :doc "Explicitly sets virtual user's with key `vuid` state to awaiting for response or not regarding to `waiting-for-response?`\n", :type :var})})}, :pom-str "\n\n 4.0.0\n io.github.algoflora\n cloregram\n jar\n 0.10.3\n cloregram\n Clojure framework for making complex Telegram Bots/Applications\n \n \n EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0\n https://www.eclipse.org/legal/epl-2.0/\n \n \n \n https://github.com/algoflora/cloregram\n scm:git:git://github.com/algoflora/cloregram.git\n scm:git:ssh://git@github.com/algoflora/cloregram.git\n 3f7274f6534fac3171792dff55238f1565948a64\n \n \n src\n test\n \n \n resources\n \n \n \n \n test/resources\n \n \n resources\n \n \n target\n target/classes\n \n \n \n \n central\n https://repo1.maven.org/maven2/\n \n false\n \n \n true\n \n \n \n clojars\n https://repo.clojars.org/\n \n true\n \n \n true\n \n \n \n \n \n \n \n \n org.clojure\n clojure\n 1.11.2\n \n \n integrant\n integrant\n 0.8.1\n \n \n com.brunobonacci\n mulog\n 0.9.0\n \n \n com.brunobonacci\n mulog-zipkin\n 0.9.0\n \n \n com.brunobonacci\n where\n 0.5.6\n \n \n telegrambot-lib\n telegrambot-lib\n 2.13.0\n \n \n http-kit\n http-kit\n 2.7.0\n \n \n ring\n ring-jetty-adapter\n 1.9.2\n \n \n nano-id\n nano-id\n 1.0.0\n \n \n cheshire\n cheshire\n 5.11.0\n \n \n resauce\n resauce\n 0.2.0\n \n \n datalevin\n datalevin\n 0.9.5\n \n \n eftest\n eftest\n 0.6.0\n \n \n compojure\n compojure\n 1.7.0\n \n \n ring\n ring-json\n 0.5.1\n \n \n fivetonine\n collage\n 0.3.0\n \n \n\n\n\n"}