Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.07.2023, 22:25
Кандидат Javascript-наук
Отправить личное сообщение для mik888em Посмотреть профиль Найти все сообщения от mik888em
 
Регистрация: 21.06.2020
Сообщений: 145

Как отправить в телеграм канал пост с картинкой?
Пытаюсь отправить пост в мой теллеграм канал через бота (он админ в моём канале).
Использую ноду 18. npm пакет node-telegram-bot-api.
Если отправляю просто текст, то нормально отправляется.
Если прикрепляю картинку, то ничего не отправляет, не могу понять почему.

Код отправки просто текстового поста (норм отправляет):
const TelegramBot = require('node-telegram-bot-api');
let OSHIBKA = '';
const bot = new TelegramBot('653*****скрыл****F_JQ');
const text = 
`???? просто текстовый текст`;
bot.sendMessage('@СКРЫЛ', text, {parse_mode: 'Markdown'})
.catch(err => {
  console.error(err);
  OSHIBKA = err.toString();
});




Код отправки с картинкой (ничего не отправляет):
const TelegramBot = require('node-telegram-bot-api');
const fs = require('fs-extra'); // Используем fs-extra
let OSHIBKA = '';
const bot = new TelegramBot('653*****скрыл****F_JQ');
const text =
`???? просто текстовый текст`;
const photoPath = 'C:\\Users\\Administrator\\Downloads\\скрипт\\kartinka_preview.jpg';
const photo = fs.createReadStream(photoPath);

bot.sendPhoto('@СКРЫЛ', photo, {caption: text, parse_mode: 'Markdown'})
  .catch(err => {
    console.error(err);
    OSHIBKA = err.toString();
  });
Ответить с цитированием
  #2 (permalink)  
Старый 30.07.2023, 09:01
Кандидат Javascript-наук
Отправить личное сообщение для mik888em Посмотреть профиль Найти все сообщения от mik888em
 
Регистрация: 21.06.2020
Сообщений: 145

вопрос решил сам. всем спасибо
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2023, 09:06
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,742

Мне кажется, что в sendPhoto надо указывать не файл картинки, а ее URL
Типа
bot.sendPhoto('@СКРЫЛ', photoPath, {caption: text, parse_mode: 'Markdown'})
Ответить с цитированием
  #4 (permalink)  
Старый 30.07.2023, 13:56
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,790

voraa,
Документация телеграм, говорит, что можно передать id уже загруженного файла, ссылку на файл в сети интернет или сам медиафайл.
Цитата:
Photo to send. Pass a file_id as String to send a photo that exists on the Telegram servers (recommended), pass an HTTP URL as a String for Telegram to get a photo from the Internet, or upload a new photo using multipart/form-data. The photo must be at most 10 MB in size.
© https://core.telegram.org/bots/api#sendphoto
Ответить с цитированием
  #5 (permalink)  
Старый 01.08.2023, 12:38
Кандидат Javascript-наук
Отправить личное сообщение для mik888em Посмотреть профиль Найти все сообщения от mik888em
 
Регистрация: 21.06.2020
Сообщений: 145

спасибо вопрос решил.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отправить файл через XMLHttpRequest как мультипарт KOLANICH Общие вопросы Javascript 17 14.12.2010 19:02
Помогите, незнаю как и чем считать и отправить данные с формы Arfey Общие вопросы Javascript 3 31.05.2010 16:01
Как отправить переменную Silver Общие вопросы Javascript 2 28.05.2010 09:35
Подскажите как в VLC плеере переключать канал без перезагрузки страницы? mff Events/DOM/Window 0 10.05.2010 17:28
Как отправить форму сразу на 2 адреса? Vlaimir Events/DOM/Window 4 26.10.2009 00:23