I've tried the following options, but I still see the link preview
await BOT.sendMessage(message.chat.id, uiMessage, menuOptions, {disable_web_page_preview: true })
await BOT.sendMessage(message.chat.id, uiMessage, menuOptions, { parse_mode: 'Markdown'})
await BOT.sendMessage(message.chat.id, uiMessage, menuOptions, { parse_mode: 'Markdown', disable_web_page_preview: true })
await BOT.sendMessage(message.chat.id, uiMessage, menuOptions, [{ parse_mode: 'Markdown'}, {disable_web_page_preview: true }])
The disable_web_page_preview
is part of the options
parameter.
Looking at the sendMessage
documentation:
chatId Number|String Unique identifier for the target chat or username of the target channel (in the format @channelusername)
text String Text of the message to be sent
[options] Object Additional Telegram query options
So you should extend menuOptions
to also include disable_web_page_preview
:
await BOT.sendMessage(message.chat.id, uiMessage, {disable_web_page_preview: true })
A litte snippet to test this:
const TelegramBot = require('node-telegram-bot-api');
const token = 'xxxxxxxx:AAEjLUL8Lx67lYEA3B2O7lSVhlCio3SVR9k';
const chatId = 12345678;
const bot = new TelegramBot(token, { polling: false });
bot.sendMessage(chatId, 'Link Test');
bot.sendMessage(chatId, '[Foo Bar](https://github.com/FFmpeg/FFmpeg)', { parse_mode: 'MarkDown', disable_web_page_preview: false });
bot.sendMessage(chatId, '[Foo Bar](https://github.com/FFmpeg/FFmpeg)', { parse_mode: 'MarkDown', disable_web_page_preview: true });