39 lines
861 B
Elixir
Executable file
39 lines
861 B
Elixir
Executable file
#!/usr/bin/env elixir
|
|
|
|
Mix.install([
|
|
{:req, "~> 0.5.10"}
|
|
])
|
|
|
|
{opts, []} =
|
|
OptionParser.parse!(System.argv(),
|
|
strict: [
|
|
instance: :string,
|
|
client_name: :string,
|
|
redirect_uri: :string,
|
|
scopes: :string,
|
|
website: :string
|
|
]
|
|
)
|
|
|
|
instance = Keyword.fetch!(opts, :instance)
|
|
client_name = Keyword.get(opts, :client_name, "sloanelybutsurely.com")
|
|
|
|
redirect_uri =
|
|
Keyword.get(opts, :redirect_uri, "https://sloanelybutsurely.com/auth/mastodon/callback")
|
|
|
|
scopes = Keyword.get(opts, :scopes, "read write push")
|
|
website = Keyword.get(opts, :website, "https://sloanelybutsurely.com")
|
|
|
|
%{status: 200, body: resp} =
|
|
Req.post!(
|
|
base_url: instance,
|
|
url: "/api/v1/apps",
|
|
json: %{
|
|
client_name: client_name,
|
|
redirect_uris: [redirect_uri],
|
|
scopes: scopes,
|
|
website: website
|
|
}
|
|
)
|
|
|
|
IO.inspect(resp)
|