distraction.party/lib/mix/tasks/relay_follow.ex

25 lines
618 B
Elixir
Raw Normal View History

2018-08-06 07:14:16 +00:00
defmodule Mix.Tasks.RelayFollow do
use Mix.Task
require Logger
alias Pleroma.Web.ActivityPub.Relay
@shortdoc "Follows a remote relay"
2018-11-08 14:28:50 +00:00
@moduledoc """
Follows a remote relay
Usage: ``mix relay_follow <relay_url>``
Example: ``mix relay_follow https://example.org/relay``
"""
2018-08-06 07:14:16 +00:00
def run([target]) do
Mix.Task.run("app.start")
2018-11-10 14:53:37 +00:00
with {:ok, activity} <- Relay.follow(target) do
# put this task to sleep to allow the genserver to push out the messages
:timer.sleep(500)
else
2018-11-10 14:53:37 +00:00
{:error, e} -> Mix.shell().error("Error while following #{target}: #{inspect(e)}")
end
2018-08-06 07:14:16 +00:00
end
end