Как можно написать свой метод для Object
Имеется вот такой класс:
const { Telegraf, Scenes, Context} = require('telegraf'),
RedisSession = require('telegraf-session-redis');
const ini = require('ini'),
fs = require('fs'),
config = ini.parse(fs.readFileSync('./config.ini', 'utf-8'))
class Launcher extends Telegraf{
constructor(){
const bot = new Telegraf(config.TELEGRAM.TOKEN)
const stage = new Scenes.Stage([])
bot.use(new RedisSession({
store: {
host: config.REDIS.host || '127.0.0.1',
port: config.REDIS.port || '6379',
}}))
bot.use(stage.middleware())
super();
this.bot = bot
this.stage = stage
return bot;
}
}
module.exports = Launcher
И вот такой вот говнокод
const Launcher = require('./Modules/launcher')
const bot = new Launcher()
bot.on("message", async ctx => {
function sendMessage (text, ...argv) {
this.reply(text, ...argv)
}
ctx.sendMessage("text")
})
bot.launch()
Конечно мне кидает ошибку
TypeError: ctx.sendMessage is not a function
Но я не могу понять почему оно не работает, если пример работает, а у меня нет.
Я не говорю что sendMessage будет только отправлять сообщения. Эта функция будет отвечать за проверку сообшений
- Есть ли старое сообщение от бота?
- Есть ли новые сообшения от пользователя?
- Если есть сообщения от пользователя, то можно ли ему удалть сообщение пользователя и обновить свое старое сообщение
- Есть ли вообще какое-либо сообщение у бота что бы обновит его, или нужно отправить новое сообшение