# CLI Since Version 2.2, Random Bunny contains a command line interface (CLI). ## Downloads The project can be downloaded as a binary for your system via the [GitHub Releases](https://github.com/Vylpes/random-bunny/releases) or [Forgejo Releases](https://git.vylpes.xyz/RabbitLabs/random-bunny/releases) page. We currently support: - Linux (x64) - Windows (x64) The git repository can also be cloned and ran via `yarn build` and `yarn start`. You can produce the binary using the `yarn package` command. This creates the binaries in the `./bin` folder. > **NOTE:** As of version 2.4 I will no longer be supporting and building macOS builds as I have no capacity to test and build for it. ## Default Output By default, the command will fetch a random image from `r/rabbits` and return it in a human-readable output. ``` $ random-bunny Archived = false Author = Rabbit_Owner Downvotes = 0 Gallery = https://i.redd.it/sfz0srdrimjc1.png, https://i.redd.it/sfz0srdrimjc1.png Hidden = false Permalink = /r/Rabbits/comments/1av1rg9/cute_baby_bun/ Subreddit = Rabbits Subreddit Subscribers = 486084 Title = Cute baby bun Upvotes = 211 Url = https://i.redd.it/sfz0srdrimjc1.png ``` - The `Gallery` field is only shown when there is more than 1 image returned, which then the `Url` field is the first image of that list. ## Help The command also includes a help option in case you are stuck. ``` $ random-bunny --help # or $ random-bunny -h Usage: random-bunny [options] Get a random image url from a subreddit of your choosing Options: -V, --version output the version number -s, --subreddit The subreddit to search (default: "rabbits") -j, --json Output as JSON -q, --query-metadata Include query metadata in result -o Output to file --sort Sort by (choices: "hot", "new", "top", default: "hot") --limit The amount of posts to fetch from the reddit api (default: 100) -h, --help display help for command ``` ## JSON output You can also convert the output into JSON, if you need to input it to another program. ```bash $ random-bunny --json # or $ randon-bunny -j {"Archived":false,"Author":"Rabbit_Owner","Downs":0,"Hidden":false,"Permalink":"/r/Rabbits/comments/1av1rg9/cute_baby_bun/","Subreddit":"Rabbits","SubredditSubscribers":486085,"Title":"Cute baby bun","Ups":210,"Url":"https://i.redd.it/sfz0srdrimjc1.png","Gallery":["https://i.redd.it/sfz0srdrimjc1.png"]} ``` - The `Url` field is the first image of the `Gallery` array ## Sort You can also choose the sorting option which reddit will use to return the available posts to randomise from. This defaults to "hot". The valid options are "hot", "new", and "top". ``` $ random-bunny --sort hot $ random-bunny --sort new $ random-bunny --sort top ``` ## Subreddit You can change the subreddit which the command fetches from. This defaults to "rabbits" ``` $ random-bunny --subreddit rabbits $ random-bunny -s horses ``` ## Output to file If you'd rather send the output to a file, you can supply the `-o` flag. ``` $ randombunny -o ~/Desktop/output.txt ``` ## Reddit API Return Limits You can also limit the amount the posts the script requests from the Reddit API using the `--limit` option. This defaults to 100. This accepts any number between 1 and 100. Please note limiting the calls to less than 100 will give a higher chance of the script not finding any valid image post to return. ``` $ random-bunny --limit 50 ```