Hunter.Account (hunter v0.6.0)

Copy Markdown View Source

Account entity

This module defines a Hunter.Account struct and the main functions for working with Accounts.

Fields

  • id - the id of the account
  • username - the username of the account
  • acct - equals username for local users, includes @domain for remote ones
  • display_name - the account's display name
  • locked - boolean for when the account cannot be followed without waiting for approval first
  • created_at - the time the account was created
  • followers_count - the number of followers for the account
  • following_count - the number of accounts the given account is following
  • statuses_count - the number of statuses the account has made
  • note - biography of user
  • url - URL of the user's profile page (can be remote)
  • avatar - URL to the avatar image
  • avatar_static - URL to the avatar static image (gif)
  • header - URL to the header image
  • header_static - URL to the header static image (gif)
  • emojis - list of emojis
  • moved - moved from account
  • bot - whether this account is a bot or not

Summary

Functions

Accepts a follow request

Retrieve account

Retrieve user's blocks

Fetch the list of users who favourited the status

Retrieve a list of follow requests

Get a list of followers

Get a list of followed accounts

Retrieve user's mutes

Fetch the list of users who reblogged the status.

Rejects a follow request

Search for accounts

Make changes to the authenticated user

Retrieve account of authenticated user

Types

t()

@type t() :: %Hunter.Account{
  acct: String.t(),
  avatar: String.t(),
  avatar_static: String.t(),
  bot: boolean(),
  created_at: String.t(),
  display_name: String.t(),
  emojis: [Hunter.Emoji.t()],
  fields: [any()],
  followers_count: non_neg_integer(),
  following_count: non_neg_integer(),
  header: String.t(),
  header_static: String.t(),
  id: non_neg_integer(),
  locked: String.t(),
  moved: t(),
  note: String.t(),
  statuses_count: non_neg_integer(),
  url: String.t(),
  username: String.t()
}

Functions

accept_follow_request(conn, id)

@spec accept_follow_request(Hunter.Client.t(), non_neg_integer()) ::
  Hunter.Relationship.t()

Accepts a follow request

Parameters

  • conn - connection credentials
  • id - follow request id

account(conn, id)

@spec account(Hunter.Client.t(), non_neg_integer()) :: t()

Retrieve account

Parameters

  • conn - connection credentials
  • id - account id

blocks(conn, options \\ [])

@spec blocks(Hunter.Client.t(), Keyword.t()) :: [t()]

Retrieve user's blocks

Parameters

  • conn - connection credentials

Options

  • max_id - get a list of blocks with id less than or equal this value
  • since_id - get a list of blocks with id greater than this value
  • limit - maximum number of blocks to get, default: 40, max: 80

favourited_by(conn, id, options \\ [])

@spec favourited_by(Hunter.Client.t(), non_neg_integer(), Keyword.t()) :: [t()]

Fetch the list of users who favourited the status

Parameters

  • conn - connection credentials
  • id - status identifier
  • options - option list

Options

  • max_id - get a list of favourited by ids less than or equal this value
  • since_id - get a list of favourited by ids greater than this value
  • limit - maximum number of favourited by to get, default: 40, max: 80

follow_requests(conn, options \\ [])

@spec follow_requests(Hunter.Client.t(), Keyword.t()) :: [t()]

Retrieve a list of follow requests

Parameters

  • conn - connection credentials
  • options - option list

Options

  • max_id - get a list of follow requests with id less than or equal this value
  • since_id - get a list of follow requests with id greater than this value
  • limit - maximum number of requests to get, default: 40, max: 80

followers(conn, id, options \\ [])

@spec followers(Hunter.Client.t(), non_neg_integer(), Keyword.t()) :: [t()]

Get a list of followers

Parameters

  • conn - connection credentials
  • id - account id
  • options - options list

Options

  • max_id - get a list of followers with id less than or equal this value
  • since_id - get a list of followers with id greater than this value
  • limit - maximum number of followers to get, default: 40, maximum: 80

Note: max_id and since_id for next and previous pages are provided in the Link header. It is not possible to use the id of the returned objects to construct your own URLs, because the results are sorted by an internal key.

following(conn, id, options \\ [])

@spec following(Hunter.Client.t(), non_neg_integer(), Keyword.t()) :: [t()]

Get a list of followed accounts

Parameters

  • conn - connection credentials
  • id - account id
  • options - options list

Options

  • max_id - get a list of followings with id less than or equal this value
  • since_id - get a list of followings with id greater than this value
  • limit - maximum number of followings to get, default: 40, maximum: 80

Note: max_id and since_id for next and previous pages are provided in the Link header. It is not possible to use the id of the returned objects to construct your own URLs, because the results are sorted by an internal key.

mutes(conn, options \\ [])

@spec mutes(Hunter.Client.t(), Keyword.t()) :: [t()]

Retrieve user's mutes

Parameters

  • conn - connection credentials
  • options - option list

Options

  • max_id - get a list of mutes with id less than or equal this value
  • since_id - get a list of mutes with id greater than this value
  • limit - maximum number of mutes to get, default: 40, max: 80

reblogged_by(conn, id, options \\ [])

@spec reblogged_by(Hunter.Client.t(), non_neg_integer(), Keyword.t()) :: [t()]

Fetch the list of users who reblogged the status.

Parameters

  • conn - connection credentials
  • id - status identifier
  • options - option list

Options

  • max_id - get a list of reblogged by ids less than or equal this value
  • since_id - get a list of reblogged by ids greater than this value
  • limit - maximum number of reblogged by to get, default: 40, max: 80

reject_follow_request(conn, id)

@spec reject_follow_request(Hunter.Client.t(), non_neg_integer()) ::
  Hunter.Relationship.t()

Rejects a follow request

Parameters

  • conn - connection credentials
  • id - follow request id

search_account(conn, options)

@spec search_account(Hunter.Client.t(), Keyword.t()) :: [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

update_credentials(conn, data)

@spec update_credentials(Hunter.Client.t(), map()) :: t()

Make changes to the authenticated user

Parameters

  • conn - connection credentials
  • data - data payload

Possible keys for payload

  • display_name - name to display in the user's profile
  • note - new biography for the user
  • avatar - base64 encoded image to display as the user's avatar (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUoAAADrCAYAAAA...)
  • header - base64 encoded image to display as the user's header image (e.g. data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUoAAADrCAYAAAA...)

verify_credentials(conn)

@spec verify_credentials(Hunter.Client.t()) :: t()

Retrieve account of authenticated user

Parameters

  • conn - connection credentials

Examples

  iex> conn = Hunter.new([base_url: "https://social.lou.lt", access_token: "123456"])
  %Hunter.Client{base_url: "https://social.lou.lt", access_token: "123456"}
  iex> Hunter.Account.verify_credentials(conn)
  %Hunter.Account{acct: "milmazz",
          avatar: "https://social.lou.lt/avatars/original/missing.png",
          avatar_static: "https://social.lou.lt/avatars/original/missing.png",
          created_at: "2017-04-06T17:43:55.325Z",
          display_name: "Milton Mazzarri", followers_count: 4,
          following_count: 4,
          header: "https://social.lou.lt/headers/original/missing.png",
          header_static: "https://social.lou.lt/headers/original/missing.png",
          id: 8039, locked: false, note: "", statuses_count: 3,
          url: "https://social.lou.lt/@milmazz", username: "milmazz"}