knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library("rtoot")
The package allows to access three different streams of Mastodon data.
Public timelines via stream_timeline_public()
, timelines from a given hashtag via stream_timeline_hashtag()
and timelines from lists via stream_timeline_list()
.
By default, all functions stream statuses for 30 seconds. This can be adjusted via the parameter timeout
. If set to Inf
, data is streamed indefinitely. The parameter file_name
is used to specify to which file the data should be written. If non is provided, a temporary file is created. However, we recommend to always set this parameter explicitely.
For stream_timeline_public()
and stream_timeline_hashtag()
, you can also decide if you want to
stream globally, or from a specific instance. If you want to stream from a specific instance, set local=TRUE
and set instance
to the desired instance. If instance is NULL, then the function uses the instance you obtained a token from (see vignette on authentication).
Once parameters are specified, you can start the desired stream. Streaming will occupy your current instance of R until the specified time has elapsed or any error occurs. Streaming itself shouldn't be very memory intensive so you can start a new R instance in parallel.
#stream a minute of all statuses stream_timeline_public(timeout = 60, file_name = "public.json") #stream a minute of all statuses using the rstats hashtag stream_timeline_public(hashtag = "rstats", timeout = 60, file_name = "public.json")
If verbose=TRUE
, the functions will indicate when streaming is supposed to stop and the number of statuses that have been written to file.
Note that in contrast to rtweet
, the streaming functions never directly return any data.
This can be done afterwards using parse_stream()
which reads in the json and converts it to a data frame. Note that this process can take a while depending on the number of statuses in the file.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.