README.md

# Broadcast

Broadcast is an Elixir library for posting to social media websites, currently with support for Bluesky and Mastodon.

## Installation

Add `broadcast` to your list of dependancies in `mix.exs`:

```elixir
def deps do
  [
    {:broadcast, "~> 0.1.0"}
  ]
end
```

Then run `mix deps.get` to install dependencies. Broadcast requires Elixir 1.17 or later.

## Usage

Post to Bluesky and Mastodon simultaneously, with `post_all/1`:

```elixir
{:ok, results} = Broadcast.post_all(
  %{
    status: "Hello, world!",
    mastodon_access_token: "your_mastodon_access_token",
    bluesky_handle: "your_bluesky_handle",
    bluesky_password: "your_bluesky_password"
  }
)
```

Post to Mastodon, with `post_mastodon_status/2`:

```elixir
{:ok, results} = Broadcast.post_mastodon_status(
  "mastodon_access_token",
  "Hello world!"
)
```

Post to Bluesky, with `post_bluesky_status/3`:

```elixir
{:ok, result} = Broadcast.post_bluesky_status(
  "your_bluesky_handle",
  "your_bluesky_password",
  "Hello world!"
)
```

## License

Broadcast's source code is released under the [MIT License](https://github.com/skyefreeman/broadcast.ex/blob/main/LICENSE).