hunter v0.3.0 Hunter.Api behaviour

Hunter API contract

Summary

Callbacks

Retrieve account

Block a user

Retrieve user’s blocks

Retrieve a card associated with a status

Deletes all notifications from the Mastodon server for the authenticated user

Register a new OAuth client app on the target instance

Destroy status

Favorite a status

Fetch a user’s favourites

Follow a user

Follow a remote user

Retrieve a list of follow requests

Get a list of followers

Get a list of followed accounts

Retrieve statuses from a hashtag

Retrieve statuses from the home timeline

Retrieve instance information

Mute a user

Retrieve user’s mutes

Retrieve single notification

Retrieve user’s notifications

Retrieve statuses from the public timeline

Reblog a status

Get the relationships of authenticated user towards given other users

Retrieve a user’s reports

Search for content

Search for accounts

Retrieve status

Retrieve status context

Get a list of statuses by a user

Unblock a user

Undo a favorite of a status

Unfollow a user

Unmute a user

Undo a reblog of a status

Upload a media file

Retrieve account of authenticated user

Callbacks

account(conn, id)
account(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Account.t

Retrieve account

Parameters

  • conn - connection credentials
  • id - account identifier
block(conn, id)
block(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Relationship.t

Block a user

Parameters

  • conn - connection credentials
  • id - user identifier
blocks(conn)
blocks(conn :: Hunter.Client.t) :: [Hunter.Account.t]

Retrieve user’s blocks

Parameters

  • conn - connection credentials
card_by_status(conn, id)
card_by_status(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Card.t

Retrieve a card associated with a status

Parameters

  • conn - connection credentials
  • id - status id
clear_notifications(conn)
clear_notifications(conn :: Hunter.Client.t) :: map

Deletes all notifications from the Mastodon server for the authenticated user

Parameters

  • conn - connection credentials
create_app(conn, name, redirect_uri, scopes, website)
create_app(conn :: Hunter.Client.t, name :: String.t, redirect_uri :: URI.t, scopes :: String.t, website :: String.t) :: Hunter.Application.t

Register a new OAuth client app on the target instance

Parameters

  • conn - connection credentials
  • name - name of your application
  • redirect_uri - where the user should be redirected after authorization, for no redirect, use urn:ietf:wg:oauth:2.0:oob
  • scopes - scope list, see the scope section for more details
  • website - URL to the homepage of your app

Scopes

  • read - read data
  • write - post statuses and upload media for statuses
  • follow - follow, unfollow, block, unblock

Multiple scopes can be requested during the authorization phase with the scope query param

create_status(conn, text, in_reply_to_id, media_ids)
create_status(conn :: Hunter.Client.t, text :: String.t, in_reply_to_id :: non_neg_integer, media_ids :: [non_neg_integer]) :: Hunter.Status.t

Create new status

Parameters

  • conn - connection credentials
  • text - [String]
  • in_reply_to_id - [Integer]
  • media_ids - [Array]
destroy_status(conn, id)
destroy_status(conn :: Hunter.Client.t, id :: non_neg_integer) :: boolean

Destroy status

Parameters

  • conn - connection credentials
  • id - status identifier
favourite(conn, id)
favourite(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Status.t

Favorite a status

Parameters

  • conn - connection credentials
  • id - status identifier
favourites(conn)
favourites(conn :: Hunter.Client.t) :: [Hunter.Status.t]

Fetch a user’s favourites

Parameters

  • conn - connection credentials
follow(conn, id)
follow(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Relationship.t

Follow a user

Parameters

  • conn - connection credentials
  • id - user id
follow_by_uri(conn, id)
follow_by_uri(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Account.t

Follow a remote user

Parameters

  • conn - connection credentials
  • uri - URI of the remote user, in the format of username@domain
follow_requests(conn)
follow_requests(conn :: Hunter.Client.t) :: [Hunter.Account.t]

Retrieve a list of follow requests

Parameters

  • conn - connection credentials
followers(conn, id)
followers(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Account.t

Get a list of followers

Parameters

  • conn - connection credentials
  • id - account identifier
following(conn, id)
following(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Account.t

Get a list of followed accounts

Parameters

  • conn - connection credentials
  • id - account identifier
hashtag_timeline(conn, hashtag, options)
hashtag_timeline(conn :: Hunter.Client.t, hashtag :: [String.t], options :: Keyword.t) :: [Hunter.Status]

Retrieve statuses from a hashtag

Parameters

  • conn - connection credentials
  • hashtag - list of strings

Options

  • max_id - [Integer]
  • since_id - [Integer]
  • limit - [Integer]
home_timeline(conn, options)
home_timeline(conn :: Hunter.Client.t, options :: Keyword.t) :: [Hunter.Status.t]

Retrieve statuses from the home timeline

Parameters

  • conn - connection credentials
  • options - option list

Options

  • max_id - [Integer]
  • since_id - [Integer]
  • limit - [Integer]
instance_info(conn)
instance_info(conn :: Hunter.Client.t) :: Hunter.Instance.t

Retrieve instance information

Parameters

  • conn - connection credentials
mute(conn, id)
mute(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Relationship.t

Mute a user

Parameters

  • conn - connection credentials
  • id - user identifier
mutes(conn)
mutes(conn :: Hunter.Client.t) :: [Hunter.Account.t]

Retrieve user’s mutes

Parameters

  • conn - connection credentials
notification(conn, non_neg_integer)
notification(conn :: Hunter.Client.t, non_neg_integer) :: Hunter.Notification.t

Retrieve single notification

Parameters

  • conn - connection credentials
  • id - notification identifier
notifications(conn)
notifications(conn :: Hunter.Client.t) :: [Hunter.Notification.t]

Retrieve user’s notifications

Parameters

  • conn - connection credentials
public_timeline(conn, options)
public_timeline(conn :: Hunter.Client.t, options :: Keyword.t) :: [Hunter.Status.t]

Retrieve statuses from the public timeline

Parameters

  • conn - connection credentials
  • options - option list

Options

  • max_id - [Integer]
  • since_id - [Integer]
  • limit - [Integer]
reblog(conn, id)
reblog(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Status.t

Reblog a status

Parameters

  • conn - connection credentials
  • id - status identifier
relationships(conn, ids)
relationships(conn :: Hunter.Client.t, ids :: [non_neg_integer]) :: [Hunter.Relationship.t]

Get the relationships of authenticated user towards given other users

Parameters

  • conn - connection credentials
  • id - list of relationship IDs
report(conn, account_id, status_ids, comment)
report(conn :: Hunter.Client.t, account_id :: non_neg_integer, status_ids :: [non_neg_integer], comment :: String.t) :: Hunter.Report.t

Report a user

Parameters

  • conn - connection credentials
  • account_id - the ID of the account to report
  • status_ids - the IDs of statuses to report
  • comment - a comment to associate with the report
reports(conn)
reports(conn :: Hunter.Client.t) :: [Hunter.Report.t]

Retrieve a user’s reports

Parameters

  • conn - connection credentials
search(conn, query, options)
search(conn :: Hunter.Client.t, query :: String.t, options :: Keyword.t) :: Hunter.Result.t

Search for content

Parameters

  • conn - connection credentials
  • q - the search query
  • options - option list

Options

  • resolve - whether to resolve non-local accounts
search_account(conn, options)
search_account(conn :: Hunter.Client.t, options :: Keyword.t) :: [Hunter.Account.t]

Search for accounts

Parameters

  • conn - connection credentials
  • options - option list

Options

  • q: what to search for
  • limit: maximum number of matching accounts to return, default: 40
status(conn, id)
status(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Status

Retrieve status

Parameters

  • conn - connection credentials
  • id - status identifier
status_context(conn, id)
status_context(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Context.t

Retrieve status context

Parameters

  • conn - connection credentials
  • id - status identifier
statuses(conn, account_id, options)
statuses(conn :: Hunter.Client.t, account_id :: non_neg_integer, options :: Keyword.t) :: [Hunter.Status.t]

Get a list of statuses by a user

Parameters

  • conn - connection credentials
  • account_id - account identifier
  • options - option list

Options

  • max_id - [Integer]
  • since_id - [Integer]
  • limit - [Integer]
unblock(conn, id)
unblock(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Relationship.t

Unblock a user

  • conn - connection credentials
  • id - user identifier
unfavourite(conn, id)
unfavourite(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Status.t

Undo a favorite of a status

Parameters

  • conn - connection credentials
  • id - status identifier
unfollow(conn, id)
unfollow(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Relationship.t

Unfollow a user

Parameters

  • conn - connection credentials
  • id - user identifier
unmute(conn, id)
unmute(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Relationship.t

Unmute a user

Parameters

  • conn - connection credentials
  • id - user identifier
unreblog(conn, id)
unreblog(conn :: Hunter.Client.t, id :: non_neg_integer) :: Hunter.Status.t

Undo a reblog of a status

Parameters

  • conn - connection credentials
  • id - status identifier
upload_media(conn, file)
upload_media(conn :: Hunter.Client.t, file :: Path.t) :: Hunter.Attachment.t

Upload a media file

Parameters

  • conn - connection credentials
  • file - media to be uploaded
verify_credentials(conn)
verify_credentials(conn :: Hunter.Client.t) :: Hunter.Account.t

Retrieve account of authenticated user

Parameters

  • conn - connection credentials