Packages
ex_gram
0.32.0
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_inline.ex
defmodule ExGram.Responses.EditInline do
@moduledoc """
Edit inline message response. It will detect the message and use it accordingly to edit the normal or inline message.
"""
defstruct [:text, :message_id, :chat_id, :inline_message_id, :ops]
end
defimpl ExGram.Responses, for: ExGram.Responses.EditInline do
def new(response, params), do: struct(response, params)
def execute(%{inline_message_id: nil, ops: ops} = edit) do
new_ops =
ops |> Keyword.put(:message_id, edit.message_id) |> Keyword.put(:chat_id, edit.chat_id)
ExGram.edit_message_text(edit.text, new_ops)
end
def execute(%{inline_message_id: mid, ops: ops} = edit) do
new_ops = Keyword.put(ops, :inline_message_id, mid)
ExGram.edit_message_text(edit.text, 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