Class Reply

Обертка для вызова API методов Telegram

-- Использование из любого места в коде:
bot.reply(123456).text("Hello") -- где bot это объект бота, а 123456 это chat_id
-- Доступ внутри хендлеров происходит через context объект
bot.command("test", function(ctx) ctx.reply.text("Hello") end) -- chat_id уже забинджен
-- Еще несколько примеров:
ctx.reply.text("*Жирный текст*", "Markdown")
ctx.reply.markdown("*Аналогичная запись*")
ctx.reply.silent().text("Будет отправлено без звука")
ctx.reply.setParameter("disable_notification", true).text("Аналогичный вариант без звука")

Functions

REPLY_MT.__index (self, sMethod) чтобы методы можно было вызывать через точку, а не двоеточие

Main Methods

REPLY_MT:sendGeneric (method[, additionalParameters]) Отправить запрос на Telegram API
REPLY_MT:sendMultipart (method[, additionalParameters]) Отправить запрос, используя multipart/form-data Аналогично до sendGeneric, но умеет отправлять файлы
REPLY_MT:send (method[, additionalParameters]) Отправить запрос.

Функции методов

REPLY_MT:text (text, mode) Отправка sendMessage
REPLY_MT:markdown (text) Alias для ctx.reply.text(text, "Markdown")
REPLY_MT:html (text) Alias для ctx.reply.text(text, "HTML")
REPLY_MT:photo (file_url_or_id, caption, captionMode) Отправка sendPhoto
REPLY_MT:document (file_url_or_id, caption, captionMode) Отправка sendDocument
REPLY_MT:video (file_url_or_id, caption, captionMode, duration, width, height, streaming) Отправка sendVideo
REPLY_MT:animation (file_url_or_id, caption, captionMode) Отправка sendAnimation
REPLY_MT:mediaGroup (media_group) Отправка sendMediaGroup Может отправлять как raw_data файлы, так и файлы по file_id и ссылке
REPLY_MT:location (latitude, longitude) Отправка sendLocation
REPLY_MT:contact (phone, firstname, lastname) Отправка sendContact
REPLY_MT:dice () Отправка sendDice
REPLY_MT:action (action) Отправка sendChatAction
REPLY_MT:editText (msg, text, parse_mode) Отправка editMessageText
REPLY_MT:editMarkdown (msg, text) Alias для editText, force Markdown parse_mode
REPLY_MT:editHTML (msg, text) Alias для editText, force HTML parse_mode
REPLY_MT:editReplyMarkup (msg) Отправка editMessageReplyMarkup
REPLY_MT:deleteMessage (msg) Отправка deleteMessage

Модификаторы

REPLY_MT:setParameter (key, value) Модификатор, устанавливает параметр запроса
REPLY_MT:setFile (name, raw_content, file_name, content_type) Модификатор, добавляет файл для отправки через multipart/form-data
REPLY_MT:reply (msg) Модификатор, добавляет параметр reply_to_message_id
REPLY_MT:selective (bForce) Модификатор, добавляет параметр selective
REPLY_MT:forceReply (bForce) Модификатор, добавляет параметр force_reply
REPLY_MT:keyboard (tKeys, bResize, bOneTime) Модификатор, добавляет параметр keyboard, resize_keyboard, one_time_keyboard
REPLY_MT:inlineKeyboard (tKeys) Модификатор, добавляет параметр inline_keyboard
REPLY_MT:disablePreview (bDisable) Модификатор, добавляет параметр disable_web_page_preview (чтобы ссылки в сообщении не создавали превью)
REPLY_MT:protect (bProtect) Модификатор, запрещает пересылать или сохранять контент на устройство
REPLY_MT:silent (bMute) Модификатор, добавляет параметр disable_notification (отправка сообщений без звука)


Functions

Methods
REPLY_MT.__index (self, sMethod)
чтобы методы можно было вызывать через точку, а не двоеточие

Parameters:

  • self
  • sMethod

Main Methods

Отправка запросов из reply объекта на сервера телеграм
REPLY_MT:sendGeneric (method[, additionalParameters])
Отправить запрос на Telegram API

Parameters:

  • method string API метод
  • additionalParameters table набор параметров, которые не были указаны через reply.setParameter (optional)

See also:

REPLY_MT:sendMultipart (method[, additionalParameters])
Отправить запрос, используя multipart/form-data Аналогично до sendGeneric, но умеет отправлять файлы

Parameters:

  • method string API метод
  • additionalParameters table набор параметров, которые не были указаны через reply.setParameter (optional)

See also:

REPLY_MT:send (method[, additionalParameters])
Отправить запрос. Если есть self.files, то использует sendMultipart, иначе через sendGeneric

Parameters:

  • method string API метод
  • additionalParameters table набор параметров, которые не были указаны через reply.setParameter (optional)

See also:

Функции методов

Выполнение этих функций отправляет запрос к Telegram API
REPLY_MT:text (text, mode)
Отправка sendMessage

Parameters:

  • text
  • mode
REPLY_MT:markdown (text)
Alias для ctx.reply.text(text, "Markdown")

Parameters:

  • text
REPLY_MT:html (text)
Alias для ctx.reply.text(text, "HTML")

Parameters:

  • text
REPLY_MT:photo (file_url_or_id, caption, captionMode)
Отправка sendPhoto

Parameters:

  • file_url_or_id
  • caption
  • captionMode

Usage:

    -- Отправка по ссылке
    ctx.reply.photo("https://file.def.pm/n9784Dep.jpg")
    -- Отправка multipart
    ctx.reply.setFile("photo", raw_content, "anyname").photo() -- raw_content = io.open("file.png", "r"):read("*all")
    -- Альтернативный вариант
    ctx.reply.photo({raw_data})
REPLY_MT:document (file_url_or_id, caption, captionMode)
Отправка sendDocument

Parameters:

  • file_url_or_id
  • caption
  • captionMode

Usage:

    ctx.reply.document({raw_content, "file.zip"})
REPLY_MT:video (file_url_or_id, caption, captionMode, duration, width, height, streaming)
Отправка sendVideo

Parameters:

  • file_url_or_id
  • caption
  • captionMode
  • duration
  • width
  • height
  • streaming

See also:

Usage:

    -- https://github.com/TRIGONIM/lua-requests-async
    local http_fetch = require("http_async").get
    local bot = require("ggram")("token") -- your bot's token
    local reply = bot.reply(123456) -- your chat_id
    http_fetch("https://file.def.pm/file_50mb.mp4", function(video)
    	http_fetch("https://file.def.pm/bfUL7owI.jpg", function(thumb)
    		reply.setFile("thumbnail", thumb, "thumb.jpg").video({video, "file.mp4"}, "*bold* caption", "markdown", 29, 1920, 1080)
    	end)
    end)
REPLY_MT:animation (file_url_or_id, caption, captionMode)
Отправка sendAnimation

Parameters:

  • file_url_or_id
  • caption
  • captionMode

See also:

REPLY_MT:mediaGroup (media_group)
Отправка sendMediaGroup Может отправлять как raw_data файлы, так и файлы по file_id и ссылке

Parameters:

  • media_group {{type = "photo", media = RAW_DATA, [caption]...}, ...}

Usage:

    local media = {
    	{type = "photo", media = "https://file.def.pm/n9784Dep.jpg", caption = "cap"}, -- sending photo by url
    	{type = "photo", media = {raw_data}}, -- sending raw_data photo
    }
    ctx.reply.mediaGroup(media)
REPLY_MT:location (latitude, longitude)
Отправка sendLocation

Parameters:

  • latitude
  • longitude
REPLY_MT:contact (phone, firstname, lastname)
Отправка sendContact

Parameters:

  • phone
  • firstname
  • lastname
REPLY_MT:dice ()
Отправка sendDice
REPLY_MT:action (action)
Отправка sendChatAction

Parameters:

  • action
REPLY_MT:editText (msg, text, parse_mode)
Отправка editMessageText

Parameters:

  • msg
  • text
  • parse_mode
REPLY_MT:editMarkdown (msg, text)
Alias для editText, force Markdown parse_mode

Parameters:

  • msg
  • text
REPLY_MT:editHTML (msg, text)
Alias для editText, force HTML parse_mode

Parameters:

  • msg
  • text
REPLY_MT:editReplyMarkup (msg)
Отправка editMessageReplyMarkup

Parameters:

  • msg
REPLY_MT:deleteMessage (msg)
Отправка deleteMessage

Parameters:

  • msg

Модификаторы

Эти функции добавляют определенные параметры к запросу, но не выполняют запрос сами по себе
REPLY_MT:setParameter (key, value)
Модификатор, устанавливает параметр запроса

Parameters:

  • key
  • value

Usage:

    ctx.reply.setParameter("disable_notification", true).text("Hello")
REPLY_MT:setFile (name, raw_content, file_name, content_type)
Модификатор, добавляет файл для отправки через multipart/form-data

Parameters:

  • name
  • raw_content
  • file_name
  • content_type

See also:

REPLY_MT:reply (msg)
Модификатор, добавляет параметр reply_to_message_id

Parameters:

  • msg

Usage:

    ctx.reply.reply(ctx).text("Reply to message")
REPLY_MT:selective (bForce)
Модификатор, добавляет параметр selective

Parameters:

  • bForce

Usage:

    ctx.reply.keyboard({{"button"}}, true).selective().markdown("*Hello*")
REPLY_MT:forceReply (bForce)
Модификатор, добавляет параметр force_reply

Parameters:

  • bForce
REPLY_MT:keyboard (tKeys, bResize, bOneTime)
Модификатор, добавляет параметр keyboard, resize_keyboard, one_time_keyboard

Parameters:

  • tKeys
  • bResize
  • bOneTime

Usage:

    ctx.reply.keyboard({{"button"}}, true).text("Hello")
REPLY_MT:inlineKeyboard (tKeys)
Модификатор, добавляет параметр inline_keyboard

Parameters:

  • tKeys

Usage:

    ctx.reply.inlineKeyboard({{ {text = "text", callback_data = "any"} }}).text("kb")
REPLY_MT:disablePreview (bDisable)
Модификатор, добавляет параметр disable_web_page_preview (чтобы ссылки в сообщении не создавали превью)

Parameters:

  • bDisable

Usage:

    ctx.reply.disablePreview().markdown("https://youtube.com")
REPLY_MT:protect (bProtect)
Модификатор, запрещает пересылать или сохранять контент на устройство

Parameters:

  • bProtect

Usage:

    ctx.reply.protect().photo("https://file.def.pm/n9784Dep.jpg")
REPLY_MT:silent (bMute)
Модификатор, добавляет параметр disable_notification (отправка сообщений без звука)

Parameters:

  • bMute
generated by LDoc 1.5.0 Last updated 2023-11-30 12:02:17