In this section, we will cover how to interact with the Blue Sky platform by creating posts (skeets), replying to them, and eventually, if necessary, deleting them.
Here’s how you can easily post a skeet to your account:
By running the above command, you’ve successfully created a skeet with the content “Posting around.”
Engaging with the Blue Sky community often means replying to existing skeets. Here’s how you can craft a reply:
Notice the in_reply_to parameter? This ensures that our reply is linked to the original post, creating a thread of conversation. If you don’t have the URI of a skeet, a link to it will also do.
Whether it’s to correct an error, remove outdated information, or any other reason, sometimes you might want to delete a skeet. Here’s how:
Threads are a series of connected posts or “skeets” on Blue Sky. They’re a great way to communicate longer ideas or stories, where each skeet builds on the previous one. In this section, we’ll explore how to create a thread seamlessly.
A thread is essentially a series of individual skeets. Here’s how you
can do it programmatically using post_thread
:
One of the fundamental ways to connect with other users is by following them, allowing you to see their posts in your feed. Conversely, if you decide that you no longer want to see updates from a particular user, you can unfollow them.
Media can be posted by using a path to a file. They can also be included in a thread.
First let’s create some plots that we want to send:
# make a basic plot
plot <- ggplot(mpg, aes(displ, hwy, colour = class)) +
geom_point()
# save it to a file
f1 <- ggsave(filename = tempfile(pattern = "1", fileext = ".png"), plot = plot)
# a second basic plot
lty <- c("solid", "dashed", "dotted", "dotdash", "longdash", "twodash")
linetypes <- data.frame(
y = seq_along(lty),
lty = lty
)
plot2 <- ggplot(linetypes, aes(0, y)) +
geom_segment(aes(xend = 5, yend = y, linetype = lty)) +
scale_linetype_identity() +
geom_text(aes(label = lty), hjust = 0, nudge_y = 0.2) +
scale_x_continuous(NULL, breaks = NULL) +
scale_y_reverse(NULL, breaks = NULL)
# again we save it to a temporary file
f2 <- ggsave(tempfile(pattern = "2", fileext = ".png"), plot = plot2)
Now we post the pictures in a thread:
post_thread(texts = c("This is the first plot on the ggplot2 website",
"This is the second plot on the ggplot2 website",
"And this is just text sent from the atrrr package by @jbgruber.bsky.social, @benguinaudeau.bsky.social and @favstats.bsky.social"),
images = c(f1, f2, ""),
image_alts = c("first ggplot2 plot",
"second ggplot2 plot",
""))