ex_gram v0.6.0 ExGram View Source

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

Callback invoked to start the supervisor and during hot code upgrades

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

TODO: Do documentation

Link to this section Functions

Link to this function add_sticker_to_set(user_id, name, png_sticker, emojis, ops \\ []) View Source
add_sticker_to_set(
  user_id :: integer(),
  name :: String.t(),
  png_sticker :: {:file, String.t()} | String.t(),
  emojis :: String.t(),
  ops :: [{:mask_position, ExGram.Model.MaskPosition.t()}]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function add_sticker_to_set!(user_id, name, png_sticker, emojis, ops \\ []) View Source
add_sticker_to_set!(
  user_id :: integer(),
  name :: String.t(),
  png_sticker :: {:file, String.t()} | String.t(),
  emojis :: String.t(),
  ops :: [{:mask_position, ExGram.Model.MaskPosition.t()}]
) :: true

TODO: Do documentation

Link to this function answer_callback_query(callback_query_id, ops \\ []) View Source
answer_callback_query(
  callback_query_id :: String.t(),
  ops :: [
    text: String.t(),
    show_alert: boolean(),
    url: String.t(),
    cache_time: integer()
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function answer_callback_query!(callback_query_id, ops \\ []) View Source
answer_callback_query!(
  callback_query_id :: String.t(),
  ops :: [
    text: String.t(),
    show_alert: boolean(),
    url: String.t(),
    cache_time: integer()
  ]
) :: true

TODO: Do documentation

Link to this function answer_inline_query(inline_query_id, results, ops \\ []) View Source
answer_inline_query(
  inline_query_id :: String.t(),
  results :: [ExGram.Model.InlineQueryResult.t()],
  ops :: [
    cache_time: integer(),
    is_personal: boolean(),
    next_offset: String.t(),
    switch_pm_text: String.t(),
    switch_pm_parameter: String.t()
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function answer_inline_query!(inline_query_id, results, ops \\ []) View Source
answer_inline_query!(
  inline_query_id :: String.t(),
  results :: [ExGram.Model.InlineQueryResult.t()],
  ops :: [
    cache_time: integer(),
    is_personal: boolean(),
    next_offset: String.t(),
    switch_pm_text: String.t(),
    switch_pm_parameter: String.t()
  ]
) :: true

TODO: Do documentation

Link to this function answer_pre_checkout_query(pre_checkout_query_id, ok, ops \\ []) View Source
answer_pre_checkout_query(
  pre_checkout_query_id :: String.t(),
  ok :: boolean(),
  ops :: [{:error_message, String.t()}]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function answer_pre_checkout_query!(pre_checkout_query_id, ok, ops \\ []) View Source
answer_pre_checkout_query!(
  pre_checkout_query_id :: String.t(),
  ok :: boolean(),
  ops :: [{:error_message, String.t()}]
) :: true

TODO: Do documentation

Link to this function answer_shipping_query(shipping_query_id, ok, ops \\ []) View Source
answer_shipping_query(
  shipping_query_id :: String.t(),
  ok :: boolean(),
  ops :: [
    shipping_options: [ExGram.Model.ShippingOption.t()],
    error_message: String.t()
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function answer_shipping_query!(shipping_query_id, ok, ops \\ []) View Source
answer_shipping_query!(
  shipping_query_id :: String.t(),
  ok :: boolean(),
  ops :: [
    shipping_options: [ExGram.Model.ShippingOption.t()],
    error_message: String.t()
  ]
) :: true

TODO: Do documentation

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function create_new_sticker_set(user_id, name, title, png_sticker, emojis, ops \\ []) View Source
create_new_sticker_set(
  user_id :: integer(),
  name :: String.t(),
  title :: String.t(),
  png_sticker :: {:file, String.t()} | String.t(),
  emojis :: String.t(),
  ops :: [
    contains_masks: boolean(),
    mask_position: ExGram.Model.MaskPosition.t()
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function create_new_sticker_set!(user_id, name, title, png_sticker, emojis, ops \\ []) View Source
create_new_sticker_set!(
  user_id :: integer(),
  name :: String.t(),
  title :: String.t(),
  png_sticker :: {:file, String.t()} | String.t(),
  emojis :: String.t(),
  ops :: [
    contains_masks: boolean(),
    mask_position: ExGram.Model.MaskPosition.t()
  ]
) :: true

TODO: Do documentation

Link to this function delete_chat_photo(chat_id, ops \\ []) View Source
delete_chat_photo(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function delete_chat_photo!(chat_id, ops \\ []) View Source
delete_chat_photo!(chat_id :: integer() | String.t(), ops :: []) :: true

TODO: Do documentation

Link to this function delete_chat_sticker_set(chat_id, ops \\ []) View Source
delete_chat_sticker_set(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function delete_chat_sticker_set!(chat_id, ops \\ []) View Source
delete_chat_sticker_set!(chat_id :: integer() | String.t(), ops :: []) :: true

TODO: Do documentation

Link to this function delete_message(chat_id, message_id, ops \\ []) View Source
delete_message(
  chat_id :: integer() | String.t(),
  message_id :: integer(),
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function delete_message!(chat_id, message_id, ops \\ []) View Source
delete_message!(
  chat_id :: integer() | String.t(),
  message_id :: integer(),
  ops :: []
) :: true

TODO: Do documentation

Link to this function delete_sticker_from_set(sticker, ops \\ []) View Source
delete_sticker_from_set(sticker :: String.t(), ops :: []) ::
  {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function delete_sticker_from_set!(sticker, ops \\ []) View Source
delete_sticker_from_set!(sticker :: String.t(), ops :: []) :: true

TODO: Do documentation

Link to this function delete_webhook(ops \\ []) View Source
delete_webhook(ops :: []) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function delete_webhook!(ops \\ []) View Source
delete_webhook!(ops :: []) :: true

TODO: Do documentation

Link to this function edit_message_caption(ops \\ []) View Source
edit_message_caption(
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function edit_message_caption!(ops \\ []) View Source
edit_message_caption!(
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function edit_message_live_location(latitude, longitude, ops \\ []) View Source
edit_message_live_location(
  latitude :: float(),
  longitude :: float(),
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function edit_message_live_location!(latitude, longitude, ops \\ []) View Source
edit_message_live_location!(
  latitude :: float(),
  longitude :: float(),
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function edit_message_media(media, ops \\ []) View Source
edit_message_media(
  media :: ExGram.Model.InputMedia.t(),
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function edit_message_media!(media, ops \\ []) View Source
edit_message_media!(
  media :: ExGram.Model.InputMedia.t(),
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function edit_message_reply_markup(ops \\ []) View Source
edit_message_reply_markup(
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function edit_message_reply_markup!(ops \\ []) View Source
edit_message_reply_markup!(
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function edit_message_text(text, ops \\ []) View Source
edit_message_text(
  text :: String.t(),
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    parse_mode: String.t(),
    disable_web_page_preview: boolean(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function edit_message_text!(text, ops \\ []) View Source
edit_message_text!(
  text :: String.t(),
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    parse_mode: String.t(),
    disable_web_page_preview: boolean(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function export_chat_invite_link(chat_id, ops \\ []) View Source
export_chat_invite_link(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, String.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function export_chat_invite_link!(chat_id, ops \\ []) View Source
export_chat_invite_link!(chat_id :: integer() | String.t(), ops :: []) ::
  String.t()

TODO: Do documentation

Link to this function forward_message(chat_id, from_chat_id, message_id, ops \\ []) View Source
forward_message(
  chat_id :: integer() | String.t(),
  from_chat_id :: integer() | String.t(),
  message_id :: integer(),
  ops :: [{:disable_notification, boolean()}]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function forward_message!(chat_id, from_chat_id, message_id, ops \\ []) View Source
forward_message!(
  chat_id :: integer() | String.t(),
  from_chat_id :: integer() | String.t(),
  message_id :: integer(),
  ops :: [{:disable_notification, boolean()}]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function get_chat(chat_id, ops \\ []) View Source
get_chat(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, ExGram.Model.Chat.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_chat!(chat_id, ops \\ []) View Source
get_chat!(chat_id :: integer() | String.t(), ops :: []) :: ExGram.Model.Chat.t()

TODO: Do documentation

Link to this function get_chat_administrators(chat_id, ops \\ []) View Source
get_chat_administrators(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, [ExGram.Model.ChatMember.t()]} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_chat_administrators!(chat_id, ops \\ []) View Source
get_chat_administrators!(chat_id :: integer() | String.t(), ops :: []) :: [
  ExGram.Model.ChatMember.t()
]

TODO: Do documentation

Link to this function get_chat_member(chat_id, user_id, ops \\ []) View Source
get_chat_member(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: []
) :: {:ok, ExGram.Model.ChatMember.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_chat_member!(chat_id, user_id, ops \\ []) View Source
get_chat_member!(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: []
) :: ExGram.Model.ChatMember.t()

TODO: Do documentation

Link to this function get_chat_members_count(chat_id, ops \\ []) View Source
get_chat_members_count(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, integer()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_chat_members_count!(chat_id, ops \\ []) View Source
get_chat_members_count!(chat_id :: integer() | String.t(), ops :: []) ::
  integer()

TODO: Do documentation

Link to this function get_file(file_id, ops \\ []) View Source
get_file(file_id :: String.t(), ops :: []) ::
  {:ok, ExGram.Model.File.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_file!(file_id, ops \\ []) View Source
get_file!(file_id :: String.t(), ops :: []) :: ExGram.Model.File.t()

TODO: Do documentation

Link to this function get_game_high_scores(user_id, ops \\ []) View Source
get_game_high_scores(
  user_id :: integer(),
  ops :: [
    chat_id: integer(),
    message_id: integer(),
    inline_message_id: String.t()
  ]
) :: {:ok, [ExGram.Model.GameHighScore.t()]} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_game_high_scores!(user_id, ops \\ []) View Source
get_game_high_scores!(
  user_id :: integer(),
  ops :: [
    chat_id: integer(),
    message_id: integer(),
    inline_message_id: String.t()
  ]
) :: [ExGram.Model.GameHighScore.t()]

TODO: Do documentation

Link to this function get_me(ops \\ []) View Source
get_me(ops :: []) :: {:ok, ExGram.Model.User.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_me!(ops \\ []) View Source
get_me!(ops :: []) :: ExGram.Model.User.t()

TODO: Do documentation

Link to this function get_sticker_set(name, ops \\ []) View Source
get_sticker_set(name :: String.t(), ops :: []) ::
  {:ok, ExGram.Model.object()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_sticker_set!(name, ops \\ []) View Source
get_sticker_set!(name :: String.t(), ops :: []) :: ExGram.Model.object()

TODO: Do documentation

Link to this function get_updates(ops \\ []) View Source
get_updates(
  ops :: [
    offset: integer(),
    limit: integer(),
    timeout: integer(),
    allowed_updates: [String.t()]
  ]
) :: {:ok, [ExGram.Model.Update.t()]} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_updates!(ops \\ []) View Source
get_updates!(
  ops :: [
    offset: integer(),
    limit: integer(),
    timeout: integer(),
    allowed_updates: [String.t()]
  ]
) :: [ExGram.Model.Update.t()]

TODO: Do documentation

Link to this function get_user_profile_photos(user_id, ops \\ []) View Source
get_user_profile_photos(
  user_id :: integer(),
  ops :: [offset: integer(), limit: integer()]
) :: {:ok, ExGram.Model.UserProfilePhotos.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_user_profile_photos!(user_id, ops \\ []) View Source
get_user_profile_photos!(
  user_id :: integer(),
  ops :: [offset: integer(), limit: integer()]
) :: ExGram.Model.UserProfilePhotos.t()

TODO: Do documentation

Link to this function get_webhook_info(ops \\ []) View Source
get_webhook_info(ops :: []) ::
  {:ok, ExGram.Model.WebhookInfo.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function get_webhook_info!(ops \\ []) View Source
get_webhook_info!(ops :: []) :: ExGram.Model.WebhookInfo.t()

TODO: Do documentation

Callback invoked to start the supervisor and during hot code upgrades.

Developers typically invoke Supervisor.init/2 at the end of their init callback to return the proper supervision flags.

Callback implementation for Supervisor.init/1.

Link to this function kick_chat_member(chat_id, user_id, ops \\ []) View Source
kick_chat_member(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: [{:until_date, integer()}]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function kick_chat_member!(chat_id, user_id, ops \\ []) View Source
kick_chat_member!(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: [{:until_date, integer()}]
) :: true

TODO: Do documentation

Link to this function leave_chat(chat_id, ops \\ []) View Source
leave_chat(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function leave_chat!(chat_id, ops \\ []) View Source
leave_chat!(chat_id :: integer() | String.t(), ops :: []) :: true

TODO: Do documentation

Link to this function pin_chat_message(chat_id, message_id, ops \\ []) View Source
pin_chat_message(
  chat_id :: integer() | String.t(),
  message_id :: integer(),
  ops :: [{:disable_notification, boolean()}]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function pin_chat_message!(chat_id, message_id, ops \\ []) View Source
pin_chat_message!(
  chat_id :: integer() | String.t(),
  message_id :: integer(),
  ops :: [{:disable_notification, boolean()}]
) :: true

TODO: Do documentation

Link to this function promote_chat_member(chat_id, user_id, ops \\ []) View Source
promote_chat_member(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: [
    can_change_info: boolean(),
    can_post_messages: boolean(),
    can_edit_messages: boolean(),
    can_delete_messages: boolean(),
    can_invite_users: boolean(),
    can_restrict_members: boolean(),
    can_pin_messages: boolean(),
    can_promote_members: boolean()
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function promote_chat_member!(chat_id, user_id, ops \\ []) View Source
promote_chat_member!(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: [
    can_change_info: boolean(),
    can_post_messages: boolean(),
    can_edit_messages: boolean(),
    can_delete_messages: boolean(),
    can_invite_users: boolean(),
    can_restrict_members: boolean(),
    can_pin_messages: boolean(),
    can_promote_members: boolean()
  ]
) :: true

TODO: Do documentation

Link to this function restrict_chat_member(chat_id, user_id, ops \\ []) View Source
restrict_chat_member(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: [
    until_date: integer(),
    can_send_messages: boolean(),
    can_send_media_messages: boolean(),
    can_send_other_messages: boolean(),
    can_add_web_page_previews: boolean()
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function restrict_chat_member!(chat_id, user_id, ops \\ []) View Source
restrict_chat_member!(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: [
    until_date: integer(),
    can_send_messages: boolean(),
    can_send_media_messages: boolean(),
    can_send_other_messages: boolean(),
    can_add_web_page_previews: boolean()
  ]
) :: true

TODO: Do documentation

Link to this function send_animation(chat_id, animation, ops \\ []) View Source
send_animation(
  chat_id :: integer() | String.t(),
  animation :: {:file, String.t()} | String.t(),
  ops :: [
    duration: integer(),
    width: integer(),
    height: integer(),
    thumb: {:file, String.t()} | String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_animation!(chat_id, animation, ops \\ []) View Source
send_animation!(
  chat_id :: integer() | String.t(),
  animation :: {:file, String.t()} | String.t(),
  ops :: [
    duration: integer(),
    width: integer(),
    height: integer(),
    thumb: {:file, String.t()} | String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_audio(chat_id, audio, ops \\ []) View Source
send_audio(
  chat_id :: integer() | String.t(),
  audio :: {:file, String.t()} | String.t(),
  ops :: [
    caption: String.t(),
    parse_mode: String.t(),
    duration: integer(),
    performer: String.t(),
    title: String.t(),
    thumb: {:file, String.t()} | String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_audio!(chat_id, audio, ops \\ []) View Source
send_audio!(
  chat_id :: integer() | String.t(),
  audio :: {:file, String.t()} | String.t(),
  ops :: [
    caption: String.t(),
    parse_mode: String.t(),
    duration: integer(),
    performer: String.t(),
    title: String.t(),
    thumb: {:file, String.t()} | String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_chat_action(chat_id, action, ops \\ []) View Source
send_chat_action(
  chat_id :: integer() | String.t(),
  action :: String.t(),
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_chat_action!(chat_id, action, ops \\ []) View Source
send_chat_action!(
  chat_id :: integer() | String.t(),
  action :: String.t(),
  ops :: []
) :: true

TODO: Do documentation

Link to this function send_contact(chat_id, phone_number, first_name, ops \\ []) View Source
send_contact(
  chat_id :: integer() | String.t(),
  phone_number :: String.t(),
  first_name :: String.t(),
  ops :: [
    last_name: String.t(),
    vcard: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_contact!(chat_id, phone_number, first_name, ops \\ []) View Source
send_contact!(
  chat_id :: integer() | String.t(),
  phone_number :: String.t(),
  first_name :: String.t(),
  ops :: [
    last_name: String.t(),
    vcard: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_document(chat_id, document, ops \\ []) View Source
send_document(
  chat_id :: integer() | String.t(),
  document :: {:file, String.t()} | String.t(),
  ops :: [
    thumb: {:file, String.t()} | String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_document!(chat_id, document, ops \\ []) View Source
send_document!(
  chat_id :: integer() | String.t(),
  document :: {:file, String.t()} | String.t(),
  ops :: [
    thumb: {:file, String.t()} | String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_game(chat_id, game_short_name, ops \\ []) View Source
send_game(
  chat_id :: integer(),
  game_short_name :: String.t(),
  ops :: [
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_game!(chat_id, game_short_name, ops \\ []) View Source
send_game!(
  chat_id :: integer(),
  game_short_name :: String.t(),
  ops :: [
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_invoice(chat_id, title, description, payload, provider_token, start_parameter, currency, prices, ops \\ []) View Source
send_invoice(
  chat_id :: integer(),
  title :: String.t(),
  description :: String.t(),
  payload :: String.t(),
  provider_token :: String.t(),
  start_parameter :: String.t(),
  currency :: String.t(),
  prices :: [ExGram.Model.LabeledPrice.t()],
  ops :: [
    provider_data: String.t(),
    photo_url: String.t(),
    photo_size: integer(),
    photo_width: integer(),
    photo_height: integer(),
    need_name: boolean(),
    need_phone_number: boolean(),
    need_email: boolean(),
    need_shipping_address: boolean(),
    send_phone_number_to_provider: boolean(),
    send_email_to_provider: boolean(),
    is_flexible: boolean(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_invoice!(chat_id, title, description, payload, provider_token, start_parameter, currency, prices, ops \\ []) View Source
send_invoice!(
  chat_id :: integer(),
  title :: String.t(),
  description :: String.t(),
  payload :: String.t(),
  provider_token :: String.t(),
  start_parameter :: String.t(),
  currency :: String.t(),
  prices :: [ExGram.Model.LabeledPrice.t()],
  ops :: [
    provider_data: String.t(),
    photo_url: String.t(),
    photo_size: integer(),
    photo_width: integer(),
    photo_height: integer(),
    need_name: boolean(),
    need_phone_number: boolean(),
    need_email: boolean(),
    need_shipping_address: boolean(),
    send_phone_number_to_provider: boolean(),
    send_email_to_provider: boolean(),
    is_flexible: boolean(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_location(chat_id, latitude, longitude, ops \\ []) View Source
send_location(
  chat_id :: integer() | String.t(),
  latitude :: float(),
  longitude :: float(),
  ops :: [
    live_period: integer(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_location!(chat_id, latitude, longitude, ops \\ []) View Source
send_location!(
  chat_id :: integer() | String.t(),
  latitude :: float(),
  longitude :: float(),
  ops :: [
    live_period: integer(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_media_group(chat_id, media, ops \\ []) View Source
send_media_group(
  chat_id :: integer() | String.t(),
  media :: [ExGram.Model.InputMediaPhoto.t() | ExGram.Model.InputMediaVideo.t()],
  ops :: [disable_notification: boolean(), reply_to_message_id: integer()]
) :: {:ok, ExGram.Model.Messages.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_media_group!(chat_id, media, ops \\ []) View Source
send_media_group!(
  chat_id :: integer() | String.t(),
  media :: [ExGram.Model.InputMediaPhoto.t() | ExGram.Model.InputMediaVideo.t()],
  ops :: [disable_notification: boolean(), reply_to_message_id: integer()]
) :: ExGram.Model.Messages.t()

TODO: Do documentation

Link to this function send_message(chat_id, text, ops \\ []) View Source
send_message(
  chat_id :: integer() | String.t(),
  text :: String.t(),
  ops :: [
    parse_mode: String.t(),
    disable_web_page_preview: boolean(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_message!(chat_id, text, ops \\ []) View Source
send_message!(
  chat_id :: integer() | String.t(),
  text :: String.t(),
  ops :: [
    parse_mode: String.t(),
    disable_web_page_preview: boolean(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_photo(chat_id, photo, ops \\ []) View Source
send_photo(
  chat_id :: integer() | String.t(),
  photo :: {:file, String.t()} | String.t(),
  ops :: [
    caption: String.t(),
    parse_mode: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_photo!(chat_id, photo, ops \\ []) View Source
send_photo!(
  chat_id :: integer() | String.t(),
  photo :: {:file, String.t()} | String.t(),
  ops :: [
    caption: String.t(),
    parse_mode: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_sticker(chat_id, sticker, ops \\ []) View Source
send_sticker(
  chat_id :: integer() | String.t(),
  sticker :: {:file, String.t()} | String.t(),
  ops :: [
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_sticker!(chat_id, sticker, ops \\ []) View Source
send_sticker!(
  chat_id :: integer() | String.t(),
  sticker :: {:file, String.t()} | String.t(),
  ops :: [
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_venue(chat_id, latitude, longitude, title, address, ops \\ []) View Source
send_venue(
  chat_id :: integer() | String.t(),
  latitude :: float(),
  longitude :: float(),
  title :: String.t(),
  address :: String.t(),
  ops :: [
    foursquare_id: String.t(),
    foursquare_type: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_venue!(chat_id, latitude, longitude, title, address, ops \\ []) View Source
send_venue!(
  chat_id :: integer() | String.t(),
  latitude :: float(),
  longitude :: float(),
  title :: String.t(),
  address :: String.t(),
  ops :: [
    foursquare_id: String.t(),
    foursquare_type: String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_video(chat_id, video, ops \\ []) View Source
send_video(
  chat_id :: integer() | String.t(),
  video :: {:file, String.t()} | String.t(),
  ops :: [
    duration: integer(),
    width: integer(),
    height: integer(),
    thumb: {:file, String.t()} | String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    supports_streaming: boolean(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_video!(chat_id, video, ops \\ []) View Source
send_video!(
  chat_id :: integer() | String.t(),
  video :: {:file, String.t()} | String.t(),
  ops :: [
    duration: integer(),
    width: integer(),
    height: integer(),
    thumb: {:file, String.t()} | String.t(),
    caption: String.t(),
    parse_mode: String.t(),
    supports_streaming: boolean(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_video_note(chat_id, video_note, ops \\ []) View Source
send_video_note(
  chat_id :: integer() | String.t(),
  video_note :: {:file, String.t()} | String.t(),
  ops :: [
    duration: integer(),
    length: integer(),
    thumb: {:file, String.t()} | String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_video_note!(chat_id, video_note, ops \\ []) View Source
send_video_note!(
  chat_id :: integer() | String.t(),
  video_note :: {:file, String.t()} | String.t(),
  ops :: [
    duration: integer(),
    length: integer(),
    thumb: {:file, String.t()} | String.t(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function send_voice(chat_id, voice, ops \\ []) View Source
send_voice(
  chat_id :: integer() | String.t(),
  voice :: {:file, String.t()} | String.t(),
  ops :: [
    caption: String.t(),
    parse_mode: String.t(),
    duration: integer(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function send_voice!(chat_id, voice, ops \\ []) View Source
send_voice!(
  chat_id :: integer() | String.t(),
  voice :: {:file, String.t()} | String.t(),
  ops :: [
    caption: String.t(),
    parse_mode: String.t(),
    duration: integer(),
    disable_notification: boolean(),
    reply_to_message_id: integer(),
    reply_markup:
      ExGram.Model.InlineKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardMarkup.t()
      | ExGram.Model.ReplyKeyboardRemove.t()
      | ExGram.Model.ForceReply.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function set_chat_description(chat_id, ops \\ []) View Source
set_chat_description(
  chat_id :: integer() | String.t(),
  ops :: [{:description, String.t()}]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_chat_description!(chat_id, ops \\ []) View Source
set_chat_description!(
  chat_id :: integer() | String.t(),
  ops :: [{:description, String.t()}]
) :: true

TODO: Do documentation

Link to this function set_chat_photo(chat_id, photo, ops \\ []) View Source
set_chat_photo(
  chat_id :: integer() | String.t(),
  photo :: {:file, String.t()},
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_chat_photo!(chat_id, photo, ops \\ []) View Source
set_chat_photo!(
  chat_id :: integer() | String.t(),
  photo :: {:file, String.t()},
  ops :: []
) :: true

TODO: Do documentation

Link to this function set_chat_sticker_set(chat_id, sticker_set_name, ops \\ []) View Source
set_chat_sticker_set(
  chat_id :: integer() | String.t(),
  sticker_set_name :: String.t(),
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_chat_sticker_set!(chat_id, sticker_set_name, ops \\ []) View Source
set_chat_sticker_set!(
  chat_id :: integer() | String.t(),
  sticker_set_name :: String.t(),
  ops :: []
) :: true

TODO: Do documentation

Link to this function set_chat_title(chat_id, title, ops \\ []) View Source
set_chat_title(
  chat_id :: integer() | String.t(),
  title :: String.t(),
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_chat_title!(chat_id, title, ops \\ []) View Source
set_chat_title!(
  chat_id :: integer() | String.t(),
  title :: String.t(),
  ops :: []
) :: true

TODO: Do documentation

Link to this function set_game_score(user_id, score, ops \\ []) View Source
set_game_score(
  user_id :: integer(),
  score :: integer(),
  ops :: [
    force: boolean(),
    disable_edit_message: boolean(),
    chat_id: integer(),
    message_id: integer(),
    inline_message_id: String.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_game_score!(user_id, score, ops \\ []) View Source
set_game_score!(
  user_id :: integer(),
  score :: integer(),
  ops :: [
    force: boolean(),
    disable_edit_message: boolean(),
    chat_id: integer(),
    message_id: integer(),
    inline_message_id: String.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function set_passport_data_errors(user_id, errors, ops \\ []) View Source
set_passport_data_errors(
  user_id :: integer(),
  errors :: [ExGram.Model.PassportElementError.t()],
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_passport_data_errors!(user_id, errors, ops \\ []) View Source
set_passport_data_errors!(
  user_id :: integer(),
  errors :: [ExGram.Model.PassportElementError.t()],
  ops :: []
) :: true

TODO: Do documentation

Link to this function set_sticker_position_in_set(sticker, position, ops \\ []) View Source
set_sticker_position_in_set(
  sticker :: String.t(),
  position :: integer(),
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_sticker_position_in_set!(sticker, position, ops \\ []) View Source
set_sticker_position_in_set!(
  sticker :: String.t(),
  position :: integer(),
  ops :: []
) :: true

TODO: Do documentation

Link to this function set_webhook(url, ops \\ []) View Source
set_webhook(
  url :: String.t(),
  ops :: [
    certificate: {:file, String.t()},
    max_connections: integer(),
    allowed_updates: [String.t()]
  ]
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function set_webhook!(url, ops \\ []) View Source
set_webhook!(
  url :: String.t(),
  ops :: [
    certificate: {:file, String.t()},
    max_connections: integer(),
    allowed_updates: [String.t()]
  ]
) :: true

TODO: Do documentation

Link to this function stop_message_live_location(ops \\ []) View Source
stop_message_live_location(
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: {:ok, ExGram.Model.Message.t()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function stop_message_live_location!(ops \\ []) View Source
stop_message_live_location!(
  ops :: [
    chat_id: integer() | String.t(),
    message_id: integer(),
    inline_message_id: String.t(),
    reply_markup: ExGram.Model.InlineKeyboardMarkup.t()
  ]
) :: ExGram.Model.Message.t()

TODO: Do documentation

Link to this function unban_chat_member(chat_id, user_id, ops \\ []) View Source
unban_chat_member(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: []
) :: {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function unban_chat_member!(chat_id, user_id, ops \\ []) View Source
unban_chat_member!(
  chat_id :: integer() | String.t(),
  user_id :: integer(),
  ops :: []
) :: true

TODO: Do documentation

Link to this function unpin_chat_message(chat_id, ops \\ []) View Source
unpin_chat_message(chat_id :: integer() | String.t(), ops :: []) ::
  {:ok, true} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function unpin_chat_message!(chat_id, ops \\ []) View Source
unpin_chat_message!(chat_id :: integer() | String.t(), ops :: []) :: true

TODO: Do documentation

Link to this function upload_sticker_file(user_id, png_sticker, ops \\ []) View Source
upload_sticker_file(
  user_id :: integer(),
  png_sticker :: {:file, String.t()},
  ops :: []
) :: {:ok, ExGram.Model.the()} | {:error, ExGram.Error.t()}

TODO: Do documentation

Link to this function upload_sticker_file!(user_id, png_sticker, ops \\ []) View Source
upload_sticker_file!(
  user_id :: integer(),
  png_sticker :: {:file, String.t()},
  ops :: []
) :: ExGram.Model.the()

TODO: Do documentation