Packages
ex_gram
0.56.1
0.67.0
0.66.0
0.65.0
0.64.0
0.63.0
0.62.0
0.61.0
0.60.0
0.58.0
0.57.0
0.56.1
0.56.0
0.55.1
0.55.0
0.54.0
0.53.0
0.52.2
0.52.1
0.52.0
0.51.1
0.51.0
0.50.2
0.50.1
0.50.0
0.41.0
0.40.0
0.34.0
0.33.0
0.32.0
0.31.0
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.1
0.24.0
0.23.0
0.22.0
0.21.0
0.20.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.0
0.9.0
0.8.1
0.8.0
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.5.0-rc6
0.5.0-rc5
0.5.0-rc4
0.5.0-rc3
0.5.0-rc2
Telegram Bot API low level and framework
Current section
Files
Jump to
Current section
Files
lib/ex_gram/responses/edit_markup.ex
defmodule ExGram.Responses.EditMarkup do
@moduledoc """
Edit markup response. It will detect the message and use it accordingly to edit the normal or inline message markup.
"""
defstruct [:message_id, :chat_id, :inline_message_id, :ops]
end
defimpl ExGram.Responses, for: ExGram.Responses.EditMarkup do
def new(response, params), do: struct(response, params)
def execute(%{inline_message_id: nil, ops: ops} = markup) do
new_ops =
ops |> Keyword.put(:message_id, markup.message_id) |> Keyword.put(:chat_id, markup.chat_id)
ExGram.edit_message_reply_markup(new_ops)
end
def execute(%{inline_message_id: mid, ops: ops}) do
new_ops = Keyword.put(ops, :inline_message_id, mid)
ExGram.edit_message_reply_markup(new_ops)
end
def set_msg(%{message_id: nil, chat_id: nil, inline_message_id: nil} = response, msg) do
Map.merge(response, ExGram.Dsl.extract_inline_id_params(msg))
end
def set_msg(response, _msg), do: response
end