--- title: "Gathering Data from Bluesky Social" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Gathering Data from Bluesky Social} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = bskyr::has_bluesky_pass() ) ``` The incredible thing about Bluesky Social is that its entirely decentralized. For end users, this means you can gather essentially *anything* that you want. Bluesky itself is organized as a series of records, which have strict definitions described in lexicons. `bskyr` provides a number of functions to help you gather data from Bluesky Social, by querying those lexicons. The corresponding records are described in the "Lexicon references" section of the documentation for each function. `bskyr` offers the most comprehensive set of tools for gathering Bluesky data from R. This vignette walks through the process of gathering data from Bluesky Social using `bskyr`. ## Gathering data from Bluesky Social To collect data, we first need to load the `bskyr` package. ```{r setup} library(bskyr) ``` We also need to authenticate you as a user. To do that, we can use the `bs_auth()` function, which communicates with Bluesky Social, creating a list of details usable to later functions. ```{r} auth <- bs_auth() ``` Alternatively, each function can authenticate you on its own, but this can result in timeouts from the API. ### Your data Several lexicons allow you to gather data about yourself, but not others. These are largely useful for managing your own account. For example, the API (reasonably) only lets you interact with your own preferences. You can do this with `bs_get_preferences()` ```{r} bs_get_preferences() ``` Other self-focused functions include blocks, (e.g. `bs_get_blocks()`), mutes (e.g. `bs_get_muted_lists()`), and notifications (e.g. `bs_get_notifications()`). ### Other people's data Most functions engage with lexicons that allow you to gather data about other people.