Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как получить ссылку на выставленный пост в telegram? (https://javascript.ru/forum/events/85396-kak-poluchit-ssylku-na-vystavlennyjj-post-v-telegram.html)

mik888em 31.07.2023 08:52

Как получить ссылку на выставленный пост в telegram?
 
Одним кубиком в "Node.JS" сделал вот что:
Написал на Nodejs 18 (npm пакеты node-telegram-bot-api и fs-extra) отправку поста с картинкой через телеграм-бота в мой публичный телеграм-канал.
Пост ставится отлично!
Причём в коде сделал чтоб после публикации получить ссылку (линк) на выставленный пост. Но ссылку не получаю в переменой url. Где косяк не пойму.

Код:
const TelegramBot = require('node-telegram-bot-api');
const fs = require('fs-extra');

const bot = new TelegramBot('653***ТОКЕНБОТАСКРЫЛ****_JQ');

const text = 'текст поста';

const photo = fs.createReadStream('C:\\Users\\Admin\\Downloads\\kartinka_preview.jpg');

bot.sendPhoto('@ТУТЮЗЕРНЕЙМКАНАЛА', photo, {caption: text, parse_mode: 'Markdown'})
  .then(message => {
    const channelId = 'ТУТЮЗЕРНЕЙМКАНАЛА'; 
    const messageId = message.message_id;
    const url = `https://t.me/${channelId}/${messageId}`;
console.log('URL of the posted message:', url);

  })
  .catch(err => {
    console.error('An error occurred:', err);
  });

voraa 31.07.2023 09:39

Там вроде не сам Message возвращается, а объект
{
   ok: true,
   result: Message,
}

https://github.com/bigslycat/tgapi#c...ot-api-methods

mik888em 31.07.2023 21:45

спасибо всем! уже сам разобрался


Часовой пояс GMT +3, время: 19:31.