Class Context
Упрощает вызов API методов и доступ к полю message внутри update объекта.
Вместо ctx.update.message.text
можно ctx.text
.
Передается во все хендлеры.
Functions
CTX:new (bot, UPD) | Принимает update от Telegram и оборачивает его в ctx |
Tables
.ctx | Сам ctx объект. |
Functions
Methods- CTX:new (bot, UPD)
-
Принимает update от Telegram и оборачивает его в ctx
Parameters:
- bot
- UPD
Returns:
-
.ctx
Context object
Tables
- .ctx
-
Сам ctx объект.
Это то, что мы видим в хендлерах, когда пишем
bot.command("cmd", function(ctx) end)
-- вот тут ctxFields:
- update table Оригинальный update объект от Telegram
- bot Bot быстрый доступ к боту по ctx.bot вместо self
- reply
Reply
🔥 быстрый API запрос (
ctx.reply.text("hello")
). Alias for ctx.bot.reply(ctx.chat.id) - command string Если это команда, то через ctx.command можно получить ее название. Для /TEST@botname .command будет == "test" (optional)
- username
string
/TEST@botname
>"botname"
(optional) - args
func
/TEST@botname a b c
>{"a", "b", "c"}
(optional) - mine bool адресовалась ли команда именно этому боту. Если наш бот называется @ourbot, то для /cmd@otherbot .mine будет false. Если username не указывался, то mine будет всегда true (optional)
- exclusive bool если команда указывалась с @botname, то .exclusive == .mine. Если без @botname, то .exclusive == true, если написано боту в ЛС (optional)
- json
func
для
callback_query
кнопок это превратит json с .data в таблицу (optional) - answer
func
для
callback_query
это упрощение вызова API answerCallbackQuery. Подробнее лучше смотреть вggram/context.lua
(optional)