% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/sm-bluesky-api.R
\name{sm_api_search_bluesky}
\alias{sm_api_search_bluesky}
\title{Search posts for a given query and produce standardised results}
\usage{
sm_api_search_bluesky(query, token, plan, max_retries = 10, verbose = TRUE)
}
\arguments{
\item{query}{query to search for}

\item{token}{Access token}

\item{plan}{Plan object}

\item{max_retries}{Maximum number of retries}

\item{verbose}{Whether to print progress messages}
}
\value{
List with posts int the standard post format defined in episomer
}
\description{
Search posts for a given query and produce standardised results
}
\details{
This function impleents the search of messages for a given query and plan.
The query has been already transformed by sm_api_translate_query_xxx so it is expected to be already in the native social media format
The token has been produced by the function sm_api_get_token_xxx and shoulb be used to autenticate the request
The plan should be used to extract the precise time-span to request messages

- Response attributes
  - network: string
  - posts: [...]
  - count: number, 
  - pagination:\{...\}
- post in posts
    - id: string
    - uri: string
    - created_at: datetime
    - user_name: string
    - text: string
    - lang: string
    - quoted_text: string
    - quoted_lang: string
    - tags: [...]
    - urls: [...]
    - categories: [...]
- tag in post.tags: string
- url in post.urls: string
- category in post.categories: string
- pagination: attributes used for paginating requests

This is the implementation of the bluesky search. You can find more information about the bluesky API here: \url{https://docs.bsky.app/docs/api/app-bsky-feed-search-posts}
Additionnaly more information about the "post" object is available here: \url{https://atproto.blue/en/latest/atproto/atproto_client.models.app.bsky.feed.defs.html#atproto_client.models.app.bsky.feed.defs.PostView}
}
