Reputation: 563
Simple usage works fine:
const { Telegraf } = require('telegraf');
const bot = new Telegraf(tgBotToken);
bot.telegram.sendMessage(tgChatId, "My message");
But if I want to use HTML in my message, I need to require telegraf/extra
const { Telegraf } = require('telegraf');
const tgExtra = require('telegraf/extra');
But I get an error:
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './extra' is not defined by "exports" in C:\MyProject\node_modules\telegraf\package.json
Telegraf was installed via npm install telegraf
. Running npm install telegraf/extra
leads to trying to install non-existing package.
Is there any trick of installing something extra for... extra?
Upvotes: 4
Views: 3552
Reputation: 123
In Telegraf V4, the Extra now is inside if the 'telegraf'.
Example:
const { Telegraf, Markup } = require('telegraf');
const bot = new Telegraf(tgBotToken);
bot.on('message', async ctx => {
ctx.replyWithHTML(tgChatId, "My message", Markup.button.url('Button Name', 'https://you.url'));
})
Upvotes: 1