Title: | Interact with 'Bluesky' Social |
---|---|
Description: | Collect data from and make posts on 'Bluesky' Social via the Hypertext Transfer Protocol (HTTP) Application Programming Interface (API), as documented at <https://atproto.com/specs/xrpc>. This further supports broader queries to the Authenticated Transfer (AT) Protocol <https://atproto.com/> which 'Bluesky' Social relies on. Data is returned in a tidy format and posts can be made using a simple interface. |
Authors: | Christopher T. Kenny [aut, cre]
|
Maintainer: | Christopher T. Kenny <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.3.0 |
Built: | 2025-03-21 02:30:00 UTC |
Source: | https://github.com/christopherkenny/bskyr |
Authenticate a user
bs_auth(user, pass, save_auth = TRUE)
bs_auth(user, pass, save_auth = TRUE)
user |
Character. User name to log in with. |
pass |
Character. App password to log in with. |
save_auth |
Logical. Should the authentication information be saved? If
|
a list of authentication information
server/createSession.json (2023-09-30)
v0.0.1
(2023-09-30)
bs_auth(user = get_bluesky_user(), pass = get_bluesky_pass())
bs_auth(user = get_bluesky_user(), pass = get_bluesky_pass())
Block an account
bs_block( subject, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_block( subject, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
subject |
Character, length 1. Subject to act on, as a handle or did. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of follow information
graph/block.json (2024-12-03) repo/createRecord.json (2024-12-02)
v0.2.0
(2024-12-03)
bs_block(subject = 'nytimes.com')
bs_block(subject = 'nytimes.com')
Create a record in a repo
bs_create_record( collection, record, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_create_record( collection, record, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
collection |
Character, length 1. The NSID of the record collection. |
record |
List, length 1. Description of a record. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of record information
repo/createRecord.json (2023-11-25)
v0.1.0
(2023-11-25)
# get info about a record post_rcd <- bs_get_record('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') # create a record, to like the post like <- list( subject = list( uri = post_rcd$uri, cid = post_rcd$cid ), createdAt = bs_created_at() ) bs_create_record(collection = 'app.bsky.feed.like', record = like)
# get info about a record post_rcd <- bs_get_record('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') # create a record, to like the post like <- list( subject = list( uri = post_rcd$uri, cid = post_rcd$cid ), createdAt = bs_created_at() ) bs_create_record(collection = 'app.bsky.feed.like', record = like)
Get current time in Bluesky format
bs_created_at()
bs_created_at()
a length 1 character vector
v0.1.0
(2023-11-25)
bs_created_at()
bs_created_at()
Delete a block
bs_delete_block( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) ) bs_unblock( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_block( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) ) bs_unblock( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
graph/list.json (2024-12-03) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-03)
blck <- bs_block(subject = 'nytimes.com') bs_delete_block(bs_extract_record_key(blck$uri))
blck <- bs_block(subject = 'nytimes.com') bs_delete_block(bs_extract_record_key(blck$uri))
Delete a follow (un-follow someone)
bs_delete_follow( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) ) bs_unfollow( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_follow( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) ) bs_unfollow( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
graph/list.json (2024-12-03) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-03)
foll <- bs_follow(subject = 'chriskenny.bsky.social') bs_delete_follow(bs_extract_record_key(foll$uri)) # obviously, you deleted this by mistake and want to follow me foll <- bs_follow(subject = 'chriskenny.bsky.social')
foll <- bs_follow(subject = 'chriskenny.bsky.social') bs_delete_follow(bs_extract_record_key(foll$uri)) # obviously, you deleted this by mistake and want to follow me foll <- bs_follow(subject = 'chriskenny.bsky.social')
Delete a like (un-like something)
bs_delete_like( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) ) bs_unlike( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_like( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) ) bs_unlike( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
graph/list.json (2024-12-03) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-03)
like <- bs_like(post = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') bs_delete_like(bs_extract_record_key(like$uri))
like <- bs_like(post = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') bs_delete_like(bs_extract_record_key(like$uri))
Delete a list
bs_delete_list( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_list( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
graph/list.json (2024-12-01) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-01)
lst <- bs_new_list(name = 'test list bskyr', purpose = 'curatelist') bs_delete_list(bs_extract_record_key(lst$uri))
lst <- bs_new_list(name = 'test list bskyr', purpose = 'curatelist') bs_delete_list(bs_extract_record_key(lst$uri))
Delete a list item
bs_delete_list_item( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_list_item( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
graph/listitem.json (2024-12-01) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-01)
lst <- bs_new_list(name = 'test list bskyr', purpose = 'curatelist') itm <- bs_new_list_item(subject = 'bskyr.bsky.social', uri = lst$uri) bs_delete_list_item(bs_extract_record_key(itm$uri)) bs_delete_list(bs_extract_record_key(lst$uri))
lst <- bs_new_list(name = 'test list bskyr', purpose = 'curatelist') itm <- bs_new_list_item(subject = 'bskyr.bsky.social', uri = lst$uri) bs_delete_list_item(bs_extract_record_key(itm$uri)) bs_delete_list(bs_extract_record_key(lst$uri))
Delete a post
bs_delete_post( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_post( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
feed/post.json (2025-03-20) repo/deleteRecord.json (2025-03-20)
v0.3.0
(2025-03-20)
pst <- bs_post('a test post to be deleted') bs_delete_post(bs_extract_record_key(pst$uri))
pst <- bs_post('a test post to be deleted') bs_delete_post(bs_extract_record_key(pst$uri))
Delete a record in a repo
bs_delete_record( collection, rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_record( collection, rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
collection |
Character, length 1. The NSID of the record collection. |
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
repo/deleteRecord.json (2023-11-25)
v0.1.0
(2023-11-25)
# get info about a record post_rcd <- bs_get_record('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') # create a record, to like the post like <- list( subject = list( uri = post_rcd$uri, cid = post_rcd$cid ), createdAt = bs_created_at() ) rec <- bs_create_record(collection = 'app.bsky.feed.like', record = like) bs_delete_record( collection = 'app.bsky.feed.like', rkey = bs_extract_record_key(rec$uri) )
# get info about a record post_rcd <- bs_get_record('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') # create a record, to like the post like <- list( subject = list( uri = post_rcd$uri, cid = post_rcd$cid ), createdAt = bs_created_at() ) rec <- bs_create_record(collection = 'app.bsky.feed.like', record = like) bs_delete_record( collection = 'app.bsky.feed.like', rkey = bs_extract_record_key(rec$uri) )
Delete a repost
bs_delete_repost( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_repost( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
feed/repost.json (2023-11-25) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-03)
repo <- bs_repost('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') bs_delete_repost(bs_extract_record_key(repo$uri))
repo <- bs_repost('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x') bs_delete_repost(bs_extract_record_key(repo$uri))
Delete a starter pack
bs_delete_starter_pack( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_delete_starter_pack( rkey, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
an httr2
status code
graph/starterpack.json (2024-12-04) repo/deleteRecord.json (2024-12-01)
v0.2.0
(2024-12-04)
starter <- bs_new_starter_pack('bskyr test') bs_delete_starter_pack(bs_extract_record_key(starter$uri))
starter <- bs_new_starter_pack('bskyr test') bs_delete_starter_pack(bs_extract_record_key(starter$uri))
Describe a repo
bs_describe_repo( repo, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_describe_repo( repo, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
repo |
Character, length 1. The handle or DID of the repo. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of record information
repo/describeRepo.json (2023-11-25)
v0.1.0
(2023-11-25)
bs_describe_repo('chriskenny.bsky.social')
bs_describe_repo('chriskenny.bsky.social')
Extract Record Key from a link
bs_extract_record_key(url)
bs_extract_record_key(url)
url |
Character, length 1. URL for record to get. |
character vector of record keys
bs_extract_record_key('https://bsky.app/profile/chriskenny.bsky.social/post/3lc5d6zspys2c')
bs_extract_record_key('https://bsky.app/profile/chriskenny.bsky.social/post/3lc5d6zspys2c')
Follow an account
bs_follow( subject, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_follow( subject, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
subject |
Character, length 1. Subject to act on, as a handle or did. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of follow information
graph/list.json (2024-12-02) repo/createRecord.json (2024-12-02)
v0.2.0
(2024-12-02)
bs_follow(subject = 'chriskenny.bsky.social')
bs_follow(subject = 'chriskenny.bsky.social')
Get a list of lists that belong to an actor.
bs_get_actor_lists( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_actor_lists( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of lists
graph/getLists.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_actor_lists('profmusgrave.bsky.social') bs_get_actor_lists('chriskenny.bsky.social') bs_get_actor_lists('pfrazee.com')
bs_get_actor_lists('profmusgrave.bsky.social') bs_get_actor_lists('chriskenny.bsky.social') bs_get_actor_lists('pfrazee.com')
Get starter packs created by an actor
bs_get_actor_starter_packs( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_actor_starter_packs( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of starter packs
graph/getActorStarterPacks.json (2024-11-20)
v0.2.0
(2024-11-20)
bs_get_actor_starter_packs('chriskenny.bsky.social') bs_get_actor_starter_packs('pfrazee.com')
bs_get_actor_starter_packs('chriskenny.bsky.social') bs_get_actor_starter_packs('pfrazee.com')
Get a list of actors suggested for following
bs_get_actor_suggestions( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_actor_suggestions( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of suggested accounts to follow
actor/getSuggestions.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_actor_suggestions()
bs_get_actor_suggestions()
Retrieve posts on an actor's feed
bs_get_author_feed( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_author_feed( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of posts
feed/getAuthorFeed.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_author_feed('chriskenny.bsky.social')
bs_get_author_feed('chriskenny.bsky.social')
Retrieve a user's (self) muted lists
bs_get_blocked_lists( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_blocked_lists( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Maximum number to request. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
graph/getListMutes.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_blocked_lists()
bs_get_blocked_lists()
Retrieve user (self) blocks
bs_get_blocks( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_blocks( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of blocked accounts
graph/getBlocks.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_blocks()
bs_get_blocks()
Build feed from user's feed generator
bs_get_feed( feed, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_feed( feed, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
feed |
Character, length 1. Feed to get. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of posts
feed/getFeed.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_feed('at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team')
bs_get_feed('at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team')
Get specific information about one feed generator
bs_get_feed_generator( feed, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_feed_generator( feed, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
feed |
Character, length 1. Feed to get. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of feeds
feed/getFeedGenerator.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_feed_generators()
for less detailed information about multiple feed generators.
bs_get_feed_generator('at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team')
bs_get_feed_generator('at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team')
Get information about a list of feed generators
bs_get_feed_generators( feeds, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_feed_generators( feeds, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
feeds |
Character. Vector of feeds to get. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of feeds
feed/getFeedGenerators.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_feed_generators()
for more detailed information about one feed generator.
bs_get_feed_generators('at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team') bs_get_feed_generators(c( 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team', 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot' ))
bs_get_feed_generators('at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team') bs_get_feed_generators(c( 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/bsky-team', 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot' ))
Get a list of feed suggestions
bs_get_feed_suggestions( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_feed_suggestions( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of suggested feeds
feed/getSuggestedFeeds.json (2023-10-01)
v0.0.1
(2023-10-02)
bs_get_feed_suggestions()
bs_get_feed_suggestions()
Retrieve a list of feeds created by a given actor
bs_get_feeds( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_feeds( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of feeds
feed/getActorFeeds.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_feeds('chriskenny.bsky.social')
bs_get_feeds('chriskenny.bsky.social')
Get suggested follows related to a given actor
bs_get_follow_suggestions( actor, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_follow_suggestions( actor, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
graph/getSuggestedFollowsByActor.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_follow_suggestions('chriskenny.bsky.social')
bs_get_follow_suggestions('chriskenny.bsky.social')
Retrieve an actor's followers
bs_get_followers( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_followers( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
graph/getFollowers.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_followers('chriskenny.bsky.social')
bs_get_followers('chriskenny.bsky.social')
Retrieve an actor's follows
bs_get_follows( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_follows( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
graph/getFollows.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_follows('chriskenny.bsky.social')
bs_get_follows('chriskenny.bsky.social')
Retrieve posts liked by an actor
bs_get_likes( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_likes( actor, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of likes
feed/getActorLikes.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_likes('chriskenny.bsky.social')
bs_get_likes('chriskenny.bsky.social')
Get a view of a list
bs_get_list( list, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_list( list, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
list |
Character vector, length 1. Reference of the list record to get. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of lists
graph/getList.json (2025-03-20)
v0.2.0
(2024-11-25)
bs_get_list('at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.graph.list/3kmokjyuflk2g') bs_get_list('at://did:plc:hgyzg2hn6zxpqokmp5c2xrdo/app.bsky.graph.list/3laygnmmcfc2x')
bs_get_list('at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.graph.list/3kmokjyuflk2g') bs_get_list('at://did:plc:hgyzg2hn6zxpqokmp5c2xrdo/app.bsky.graph.list/3laygnmmcfc2x')
Retrieve recent posts from actors in a list
bs_get_list_feed( list, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_list_feed( list, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
list |
Character vector, length 1. Reference of the list record to get. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of likes
feed/getListFeed.json (2025-03-20)
v0.3.0
(2025-03-20)
bs_get_list_feed('at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.graph.list/3kmokjyuflk2g')
bs_get_list_feed('at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.graph.list/3kmokjyuflk2g')
Retrieve a user's (self) muted lists
bs_get_muted_lists( user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_muted_lists( user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
graph/getListMutes.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_muted_lists()
bs_get_muted_lists()
Retrieve a user's (self) muted accounts
bs_get_mutes( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_mutes( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
graph/getMutes.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_mutes()
bs_get_mutes()
Get the user's (self) number of unread notifications
bs_get_notification_count( user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_notification_count( user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble with a single column and row for the count
notification/getUnreadCount.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_notification_count()
bs_get_notification_count()
Get the user's (self) notifications
bs_get_notifications( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_notifications( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble with notifications
notification/listNotifications.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_get_notifications()
bs_get_notifications()
Retrieve likes on a post
bs_get_post_likes( uri, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_post_likes( uri, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
uri |
Character, length 1. URI for post to get. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of likes
feed/getLikes.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_post_likes('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s')
bs_get_post_likes('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s')
Retrieve thread of posts
bs_get_post_thread( uri, depth = NULL, parent_height = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_post_thread( uri, depth = NULL, parent_height = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
uri |
Character, length 1. URI for post to get. |
depth |
Integer. Maximum depth to request. Maximum: |
parent_height |
Integer. Maximum parent height to request. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of posts
feed/getPostThread.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_post_thread('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s')
bs_get_post_thread('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s')
Retrieve thread of posts
bs_get_posts( uris, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_posts( uris, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
uris |
Character. Vector of URIs for posts to get. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of posts
feed/getPosts.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_posts('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s') bs_get_posts('https://bsky.app/profile/chriskenny.bsky.social/post/3lc5d6zspys2c')
bs_get_posts('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s') bs_get_posts('https://bsky.app/profile/chriskenny.bsky.social/post/3lc5d6zspys2c')
Get (Self) Preferences
bs_get_preferences( user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_preferences( user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of preferences
actor/getPreferences.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_preferences()
bs_get_preferences()
Get Profile for a Bluesky Social User
bs_get_profile( actors, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_profile( actors, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actors |
character vector of actor(s), such as |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble with a row for each actor
actor/getProfiles.json (2023-10-01) actor/getProfile.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_get_profile('chriskenny.bsky.social') bs_get_profile(actors = c('chriskenny.bsky.social', 'simko.bsky.social'))
bs_get_profile('chriskenny.bsky.social') bs_get_profile(actors = c('chriskenny.bsky.social', 'simko.bsky.social'))
Retrieve a list of quotes for a given post
bs_get_quotes( uri, cid, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_quotes( uri, cid, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
uri |
Character, length 1. URI for post to get. |
cid |
Optional, character. Filters to quotes of specific version (by CID) of the post record |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of quote posts
feed/getQuotes.json (2024-12-01)
v0.2.0
(2024-12-01)
bs_get_quotes('at://did:plc:5c2r73erhng4bszmxlfdtscf/app.bsky.feed.post/3lc5c5qv72r2w')
bs_get_quotes('at://did:plc:5c2r73erhng4bszmxlfdtscf/app.bsky.feed.post/3lc5c5qv72r2w')
Get an arbitrary record from a repo
bs_get_record( repo = NULL, collection = NULL, rkey = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_record( repo = NULL, collection = NULL, rkey = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
repo |
Character, length 1. The handle or DID of the repo. |
collection |
Character, length 1. The NSID of the record collection. |
rkey |
Character, length 1. The CID of the version of the record. If not specified, then return the most recent version. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of upload blob information
repo/getRecord.json (2023-11-24)
v0.1.0
(2023-11-24)
bs_get_record('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x')
bs_get_record('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x')
Get relationships between an account and other users
bs_get_relationships( actor, others, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_relationships( actor, others, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
actor |
Character, length 1. name of 1 actor, such as |
others |
Optional, character vector of other users to look up relationships |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of relationships
graph/getRelationships.json (2024-12-01)
v0.2.0
(2024-12-01)
bs_get_relationships('chriskenny.bsky.social', 'bskyr.bsky.social')
bs_get_relationships('chriskenny.bsky.social', 'bskyr.bsky.social')
Retrieve actors who reposted a post
bs_get_reposts( uri, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_reposts( uri, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
uri |
Character, length 1. URI for post to get. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of actors
feed/getRepostedBy.json (2023-10-01)
v0.0.1
(2023-10-02)
bs_get_reposts('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3kaa2gxjhzr2a')
bs_get_reposts('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3kaa2gxjhzr2a')
Get information on one starter pack
bs_get_starter_pack( starter_pack, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_starter_pack( starter_pack, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
starter_pack |
Character vector, length 1. URI of starter pack to get. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of starter packs
graph/getStarterPack.json (2024-11-20)
v0.2.0
(2024-11-20)
bs_get_starter_pack( 'at://did:plc:wpe35pganb6d4pg4ekmfy6u5/app.bsky.graph.starterpack/3lb3g5veo2z2r' )
bs_get_starter_pack( 'at://did:plc:wpe35pganb6d4pg4ekmfy6u5/app.bsky.graph.starterpack/3lb3g5veo2z2r' )
Get information about a list of starter packs
bs_get_starter_packs( starter_packs, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_starter_packs( starter_packs, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
starter_packs |
Character vector. Vector of URIs of starter packs to get. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of starter packs
graph/getStarterPacks.json (2024-11-20)
v0.2.0
(2024-11-20)
bs_get_starter_packs( 'at://did:plc:wpe35pganb6d4pg4ekmfy6u5/app.bsky.graph.starterpack/3lb3g5veo2z2r' ) bs_get_starter_packs( c('at://did:plc:wpe35pganb6d4pg4ekmfy6u5/app.bsky.graph.starterpack/3lb3g5veo2z2r', 'at://did:plc:bmc56x6ksb7o7sdkq2fgm7se/app.bsky.graph.starterpack/3laywns2q2v27') )
bs_get_starter_packs( 'at://did:plc:wpe35pganb6d4pg4ekmfy6u5/app.bsky.graph.starterpack/3lb3g5veo2z2r' ) bs_get_starter_packs( c('at://did:plc:wpe35pganb6d4pg4ekmfy6u5/app.bsky.graph.starterpack/3lb3g5veo2z2r', 'at://did:plc:bmc56x6ksb7o7sdkq2fgm7se/app.bsky.graph.starterpack/3laywns2q2v27') )
Retrieve the user's home timeline
bs_get_timeline( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_get_timeline( cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of posts
feed/getTimeline.json (2023-10-01)
v0.0.1
(2023-10-02)
bs_get_timeline()
bs_get_timeline()
Like an existing post
bs_like( post, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_like( post, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
post |
Character vector, length 1. Link to a post. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of post information
feed/like.json (2023-11-25) repo/createRecord.json (2023-11-25)
v0.1.0
(2023-11-25)
bs_like(post = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x')
bs_like(post = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x')
List records in a repo
bs_list_records( repo, collection, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_list_records( repo, collection, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
repo |
Character, length 1. The handle or DID of the repo. |
collection |
Character, length 1. The NSID of the record collection. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of record information
repo/createRecord.json (2023-11-25)
v0.1.0
(2023-11-25)
bs_list_records(repo = 'chriskenny.bsky.social', collection = 'app.bsky.feed.post')
bs_list_records(repo = 'chriskenny.bsky.social', collection = 'app.bsky.feed.post')
Embeds are not designed as standalone records, but rather as part of a post. This will create a list representation of an external embed.
bs_new_embed_external( uri, title, description, thumb, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_new_embed_external( uri, title, description, thumb, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
uri |
a link to embed |
title |
the title for the link |
description |
a description of the link |
thumb |
Optional. A thumbnail for the link |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
a list representation of an external embed
embed/external.json (2024-12-05)
v0.2.0
(2024-12-05)
bs_new_embed_external( uri = 'https://christophertkenny.com/bskyr/', title = 'Interact with Bluesky Social', description = 'An R package for using Bluesky Social' ) bs_new_embed_external( uri = 'https://christophertkenny.com/bskyr/' )
bs_new_embed_external( uri = 'https://christophertkenny.com/bskyr/', title = 'Interact with Bluesky Social', description = 'An R package for using Bluesky Social' ) bs_new_embed_external( uri = 'https://christophertkenny.com/bskyr/' )
Create a list
bs_new_list( name, purpose, description, avatar, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_new_list( name, purpose, description, avatar, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
name |
Character. Display name for list. |
purpose |
Purpose of the list. One of |
description |
Optional character. Description of the list. |
avatar |
Optional character. Path to image to use as avatar. PNG or JPEG recommended. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of list information
graph/list.json (2024-12-01) graph/defs.json (2024-12-01) repo/createRecord.json (2023-11-25)
v0.2.0
(2024-12-01)
bs_new_list(name = 'test list bskyr', purpose = 'curatelist') bs_new_list(name = 'test list bskyr w avatar', description = 'to be deleted, just for testing bskyr', avatar = fs::path_package('bskyr', 'man/figures/logo.png'), purpose = 'curatelist')
bs_new_list(name = 'test list bskyr', purpose = 'curatelist') bs_new_list(name = 'test list bskyr w avatar', description = 'to be deleted, just for testing bskyr', avatar = fs::path_package('bskyr', 'man/figures/logo.png'), purpose = 'curatelist')
Add a subject to a list
bs_new_list_item( subject, uri, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_new_list_item( subject, uri, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
subject |
Character, length 1. Subject to act on, as a handle or did. |
uri |
Character, length 1. URI of the list to add the subject to. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of list item information
graph/listitem.json (2024-12-01) repo/createRecord.json (2023-11-25)
v0.2.0
(2024-12-01)
lst <- bs_new_list(name = 'test list listitem bskyr', purpose = 'curatelist') bs_new_list_item(subject = 'chriskenny.bsky.social', uri = lst$uri) # see the list item bs_get_list(lst$uri)
lst <- bs_new_list(name = 'test list listitem bskyr', purpose = 'curatelist') bs_new_list_item(subject = 'chriskenny.bsky.social', uri = lst$uri) # see the list item bs_get_list(lst$uri)
Create a new starter pack
bs_new_starter_pack( name, list, description, feeds, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_new_starter_pack( name, list, description, feeds, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
name |
Character. Display name for starter pack |
list |
Character. List to base the starter pack on. If not provided, a new list will be created. |
description |
Optional character. Description of the list. |
feeds |
Optional character. List of feed items to include in starter pack. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of post information
graph/starterpack.json (2024-12-04) repo/createRecord.json (2023-11-25)
v0.2.0
(2024-12-04)
bs_new_starter_pack('bskyr test')
bs_new_starter_pack('bskyr test')
Make a post on Bluesky Social
bs_post( text, images, images_alt, video, video_alt, langs, reply, quote, embed = TRUE, emoji = TRUE, max_tries, created_at = bs_created_at(), user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_post( text, images, images_alt, video, video_alt, langs, reply, quote, embed = TRUE, emoji = TRUE, max_tries, created_at = bs_created_at(), user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
text |
Text of post |
images |
Character vector of paths to images to attach to post |
images_alt |
Character vector of alt text for images. Must be same length as |
video |
Character vector of path for up to one video to attach to post |
video_alt |
Character vector, length one, of alt text for video, if used. |
langs |
Character vector of languages in BCP-47 format |
reply |
Character vector with link to the parent post to reply to |
quote |
Character vector with link to a post to quote |
embed |
Logical. Default is |
emoji |
Logical. Default is |
max_tries |
Integer, >= 2. Number of times to retry the request if the first fails. |
created_at |
Character, length 1 of the form "%Y-%m-%dT%H:%M:%OS6Z". Time to assign to a record. Default is |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of post information
:emoji:
parsing is not a formally supported Bluesky feature. This package
converts usages of this kind by identifying text within :
s, here "emoji
"
and then matches them to the emoji
package's list of emoji names. All
supported emoji names and corresponding images can be seen with
emoji::emoji_name
. This feature was introduced in v0.2.0
.
Embedding is a feature that allows for a link card to be created when a URL
or other media to be added as a preview to the post. This feature was
introduced in v0.2.0
.
Embeds are processed as follows:
If is.list(embed)
, it is assumed to be an embed object. These should be
created with bs_new_embed_external()
, unless you are certain of the
structure.
If is.character(embed)
, it is assumed to be a URL. The function will
use the open graph protocol to try to infer the embed from the URL.
If isTRUE(embed)
, the default, it tries to infer the embed from the text.
First, if a Tenor Gif link is found in the text, it will be embedded.
Second, if a URL is found in the text, it will be embedded. Only the first URL found will be embedded.
If isFALSE(embed)
or it does match an earlier condidtion, no embed is
created and the post is sent as is.
feed/post.json (2024-11-29) repo/createRecord.json (2023-10-02)
v0.0.1
(2023-10-02)
bs_post('Test post from R CMD Check for r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)') bs_post('Test self-reply from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)', reply = 'https://bsky.app/profile/bskyr.bsky.social/post/3kexwuoyqj32g' ) bs_post('Test quoting from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)', quote = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf24wd6cmb2a' ) bs_post('Test quote and reply from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)', reply = 'https://bsky.app/profile/bskyr.bsky.social/post/3kexwuoyqj32g', quote = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf24wd6cmb2a' ) bs_post('Test quote with :emoji: and :fire: and :confetti_ball: from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)') bs_post(text = 'Testing images and aspect ratios from R', images = fs::path_package('bskyr', 'man/figures/logo.png'), images_alt = 'hexagonal logo of the R package bskyr, with the text "bskyr" on a cloud') bs_post(text = 'testing sending videos from R', video = fs::path_package('bskyr', 'man/figures/pkgs.mp4'), video_alt = 'a carousel of package logos, all hexagonal')
bs_post('Test post from R CMD Check for r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)') bs_post('Test self-reply from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)', reply = 'https://bsky.app/profile/bskyr.bsky.social/post/3kexwuoyqj32g' ) bs_post('Test quoting from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)', quote = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf24wd6cmb2a' ) bs_post('Test quote and reply from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)', reply = 'https://bsky.app/profile/bskyr.bsky.social/post/3kexwuoyqj32g', quote = 'https://bsky.app/profile/bskyr.bsky.social/post/3kf24wd6cmb2a' ) bs_post('Test quote with :emoji: and :fire: and :confetti_ball: from r package `bskyr` via @bskyr.bsky.social (https://christophertkenny.com/bskyr/)') bs_post(text = 'Testing images and aspect ratios from R', images = fs::path_package('bskyr', 'man/figures/logo.png'), images_alt = 'hexagonal logo of the R package bskyr, with the text "bskyr" on a cloud') bs_post(text = 'testing sending videos from R', video = fs::path_package('bskyr', 'man/figures/pkgs.mp4'), video_alt = 'a carousel of package logos, all hexagonal')
Repost an existing post
bs_repost( post, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_repost( post, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
post |
Character vector, length 1. Link to a post. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of post information
feed/repost.json (2023-11-25) repo/createRecord.json (2023-11-25)
v0.1.0
(2023-11-25)
bs_repost('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x')
bs_repost('https://bsky.app/profile/bskyr.bsky.social/post/3kf2577exva2x')
Resolve a Handle to Decentralized Identifier (DID)
bs_resolve_handle( handle, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_resolve_handle( handle, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
handle |
Character, length 1. Handle, such as |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of decentralized identifier
identity/resolveHandle.json (2023-11-24)
v0.1.0
(2023-11-24)
bs_resolve_handle('chriskenny.bsky.social')
bs_resolve_handle('chriskenny.bsky.social')
Find profiles matching search criteria
bs_search_actors( query, typeahead = FALSE, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_search_actors( query, typeahead = FALSE, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
query |
character. search query, Lucene query syntax is recommended when |
typeahead |
logical. Use typeahead for search? Default is |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of suggested accounts to follow
actor/searchActors.json (2023-10-01) actor/searchActorsTypeahead.json (2023-10-01)
v0.0.1
(2023-10-01)
bs_search_actors('political science')
bs_search_actors('political science')
Find posts matching search criteria
bs_search_posts( query, sort = NULL, since = NULL, until = NULL, mentions = NULL, author = NULL, lang = NULL, domain = NULL, url = NULL, tag = NULL, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_search_posts( query, sort = NULL, since = NULL, until = NULL, mentions = NULL, author = NULL, lang = NULL, domain = NULL, url = NULL, tag = NULL, cursor = NULL, limit = NULL, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
query |
Character vector, length 1. character. Search query, Lucene query syntax is recommended. |
sort |
character. Order or results. Either |
since |
character. Filter results for posts on or after the indicated datetime or ISO date (YYYY-MM-DD). |
until |
character. Filter results for posts before the indicated datetime or ISO date (YYYY-MM-DD). |
mentions |
character. Filter to posts which mention the given account. |
author |
character. Filter to posts by the given account. |
lang |
character. Filter to posts in the given language. |
domain |
character. Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization. |
url |
character. Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching. |
tag |
character. Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching. |
cursor |
Character, length 1. A cursor property from a prior response. Default: |
limit |
Integer. Number of records to request. If over |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of suggested accounts to follow
feed/searchPosts.json (2024-11-25)
v0.1.1
(2023-12-13)
bs_search_posts('redistricting') bs_search_posts('ggplot2', tag = 'rstats', sort = 'latest')
bs_search_posts('redistricting') bs_search_posts('ggplot2', tag = 'rstats', sort = 'latest')
Upload a blob to a repo
bs_upload_blob( blob, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
bs_upload_blob( blob, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass), clean = TRUE )
blob |
Character, files to upload to a repo. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
clean |
Logical. Should output be cleaned into a |
a tibble::tibble of upload blob information
repo/uploadBlob.json (2023-11-24)
v0.1.0
(2023-11-24)
fig <- fs::path_package('bskyr', 'man/figures/logo.png') bs_upload_blob(fig)
fig <- fs::path_package('bskyr', 'man/figures/logo.png') bs_upload_blob(fig)
Convert Universal Resource Identifiers to Hypertext Transfer Protocol Secure URLs
bs_uri_to_url(uri)
bs_uri_to_url(uri)
uri |
Character, length 1. URI for post to get. |
character vector of HTTPS URLs
v0.1.0
(2023-11-24)
bs_uri_to_url('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s')
bs_uri_to_url('at://did:plc:ic6zqvuw5ulmfpjiwnhsr2ns/app.bsky.feed.post/3k7qmjev5lr2s')
Convert Hypertext Transfer Protocol Secure URLs to Universal Resource Identifiers
bs_url_to_uri( url, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
bs_url_to_uri( url, user = get_bluesky_user(), pass = get_bluesky_pass(), auth = bs_auth(user, pass) )
url |
Character, length 1. URL for record to get. |
user |
Character. User name to log in with. Defaults to |
pass |
Character. App password to log in with. Defaults to |
auth |
Authentication information. Defaults to |
character vector of URIs
v0.2.0
(2024-11-30)
bs_url_to_uri('https://bsky.app/profile/chriskenny.bsky.social/post/3lc5d6zspys2c')
bs_url_to_uri('https://bsky.app/profile/chriskenny.bsky.social/post/3lc5d6zspys2c')
Check or Get Bluesky App Password
has_bluesky_pass() get_bluesky_pass() bs_get_pass() bs_has_pass()
has_bluesky_pass() get_bluesky_pass() bs_get_pass() bs_has_pass()
logical if has
, pass if get
has_bluesky_pass()
has_bluesky_pass()
Adds Bluesky App Password to .Renviron.
set_bluesky_pass(pass, overwrite = FALSE, install = FALSE, r_env = NULL) bs_set_pass(pass, overwrite = FALSE, install = FALSE, r_env = NULL)
set_bluesky_pass(pass, overwrite = FALSE, install = FALSE, r_env = NULL) bs_set_pass(pass, overwrite = FALSE, install = FALSE, r_env = NULL)
pass |
Character. App Password to add to add. |
overwrite |
Defaults to FALSE. Boolean. Should existing |
install |
Defaults to FALSE. Boolean. Should this be added '~/.Renviron' file? |
r_env |
Path to install to if |
pass, invisibly
example_env <- tempfile(fileext = '.Renviron') set_bluesky_pass('1234-1234-1234-1234', r_env = example_env) # r_env should likely be: file.path(Sys.getenv('HOME'), '.Renviron')
example_env <- tempfile(fileext = '.Renviron') set_bluesky_pass('1234-1234-1234-1234', r_env = example_env) # r_env should likely be: file.path(Sys.getenv('HOME'), '.Renviron')
Adds Bluesky User to .Renviron.
set_bluesky_user(user, overwrite = FALSE, install = FALSE, r_env = NULL) bs_set_user(user, overwrite = FALSE, install = FALSE, r_env = NULL)
set_bluesky_user(user, overwrite = FALSE, install = FALSE, r_env = NULL) bs_set_user(user, overwrite = FALSE, install = FALSE, r_env = NULL)
user |
Character. User to add to add. |
overwrite |
Defaults to FALSE. Boolean. Should existing |
install |
Defaults to FALSE. Boolean. Should this be added '~/.Renviron' file? |
r_env |
Path to install to if |
user, invisibly
example_env <- tempfile(fileext = '.Renviron') set_bluesky_user('CRAN_EXAMPLE.bsky.social', r_env = example_env) # r_env should likely be: file.path(Sys.getenv('HOME'), '.Renviron')
example_env <- tempfile(fileext = '.Renviron') set_bluesky_user('CRAN_EXAMPLE.bsky.social', r_env = example_env) # r_env should likely be: file.path(Sys.getenv('HOME'), '.Renviron')
Check or Get Bluesky User
has_bluesky_user() get_bluesky_user() bs_get_user() bs_has_user()
has_bluesky_user() get_bluesky_user() bs_get_user() bs_has_user()
logical if has
, user if get
has_bluesky_user()
has_bluesky_user()