defmodule TelegramEx.Builder.Message do alias TelegramEx.{Config, API} def text(text) do %{text: text} end def text(text, parse_mode) do %{text: text, parse_mode: parse_mode} end def inline_keyboard(message, keyboard) do Map.put(message, :reply_markup, %{inline_keyboard: keyboard}) end def reply_keyboard(message, keyboard, opts) do message |> Map.put(:reply_markup, Map.merge(%{keyboard: keyboard}, Map.new(opts))) end def remove_keyboard(message) do Map.put(message, :reply_markup, %{remove_keyboard: true}) end def silent(message) do Map.put(message, :disable_notification, true) end def answer_callback_query(message, callback) do TelegramEx.API.answer_callback_query(Config.token(), callback) message end def send(message, id) do message |> Map.put(:chat_id, id) |> then(&API.send_message(Config.token(), &1)) end end