Как вставить в Telegraph картинку ссылкой по api?
Формирую telegraph страницу из базы на сервере. Доступ к файлам(картинкам) открытый. Они доступны публично по ссылке.
Задача: вставить любым способом картинку в Telegraph контент, формируя статью. Желательно, чтобы ссылки на картинку видно не было.
Использую aiograph, но можно и голым api обойтись, думаю.
UPD. Удалось добавить простым тегом / Но опять же с веб браузера в коде страницы есть ли возможность скрыть адрес сервера с которого всё качается или же как ограничить доступ к серверу только с Telegraph?
- Вопрос задан более двух лет назад
- 1612 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1
Павел Дунаев @Pasha13666
вставить любым способом картинку в Telegraph контент
Можно, через тег img.
есть ли возможность скрыть адрес сервера
Нет, но можно загружать картинки на сервера телеграф.
ограничить доступ к серверу только с Telegraph
В теории можно, но лучше не надо. Проблема в том, что у телеграфа как бы несколько клиентов — веб версия и приложения на андроид и ios. Каждый из них можно определить (например в браузере есть referrer), но не факт, что это будет работать правильно и не сломается с каким-нибудь обновлением телеграмма.
Но если очень хочется, настройте логи на сервере так, чтобы в них писалось как можно больше (как минимум все заголовки) и откройте вашу страницу в телеграфе разными способами (браузер, приложения), а затем откройте картинку отдельно от страницы. Сравните заголовки и определите, по каким можно фильтровать. Затем настройте фильтр в вашем веб-сервере.
Если вы хотите организовать защиту от скачивания, то удачи вам. Твиттер (если я ничего не путаю) режет картинки на вертикальные полосы.
Как вставить картинку в telegraph api?
Скриншот фрагмента кода удалён модератором. Фрагменты кода надо размещать в виде текста и оборачивать тэгом code для корректного отображения. Удобно делать кнопкой >
Это обязательно, см.п.3.8 Регламента.
Сюда же относится traceback, ввод и вывод в консоли и другая структурированная текстовая инфа.
Решения вопроса 1
soremix @SoreMix Куратор тега Python
Параметр params отвечает за отправку URL параметров. Для POST запросов тело как правило либо application/json (параметр json), либо application/x-www-urlencoded (параметр data)
result = rq.post("https://api.telegra.ph/createPage", json=< "access_token": database["access_token"], "title": "Test", "content":[ > ] >)
Как боту вставлять изображение через url в telegra.ph?
Мне необходимо, чтобы бот брал url адрес картинки, например из дискорда, и вставлял его в статью telegra.ph и оно преобразило url в картинку. Если это делать вручную, то нужно вставить ссылку и нажать Enter, только тогда изображение станет изображением, а не ссылкой. Но если просто вставить ссылку, то она останется текстом. Так и бот вставляет url, но ссылка не становится изображением. API или модулей, подходящих, лично я не нашёл, может слепой. Помогите найти решение. Пример рабочего кода, но с проблемой:
from telegraph_api import Telegraph import asyncio import random random_1 = random.randint(99999, 99999999999) random_2 = random.randint(99999, 99999999999) async def main(): telegraph = Telegraph() # Новый аккаунт await telegraph.create_account(random_2, author_name=random_1) # Статья new_page = await telegraph.create_page( random_1, "https://media.discordapp.net/attachments/1013153256215691344/1013153595480342658/FZ9Pp5LaUAAkNHa_.jpg" ) # Результат print(new_page.url) asyncio.run(main())
Отслеживать
задан 28 авг 2022 в 9:59
1,126 2 2 золотых знака 4 4 серебряных знака 16 16 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Чтобы прикрепить картинку ее сначала нужно скачать по URL, а затем загрузить фаил картинки с помощью API. Это можно сделать следующим образом:
def telegraph_file_upload(path_to_file): ''' Sends a file to telegra.ph storage and returns its url Works ONLY with 'gif', 'jpeg', 'jpg', 'png', 'mp4' Parameters --------------- path_to_file -> str, path to a local file Return --------------- telegraph_url -> str, url of the file uploaded >>>telegraph_file_upload('test_image.jpg') https://telegra.ph/file/16016bafcf4eca0ce3e2b.jpg >>>telegraph_file_upload('untitled.txt') error, txt-file can not be processed ''' file_types = file_ext = path_to_file.split('.')[-1] if file_ext in file_types: file_type = file_types[file_ext] else: return f'error, -file can not be proccessed' with open(path_to_file, 'rb') as f: url = 'https://telegra.ph/upload' response = requests.post(url, files=, timeout=1) telegraph_url = json.loads(response.content) telegraph_url = telegraph_url[0]['src'] telegraph_url = f'https://telegra.ph' return telegraph_url
Функция вернет ссылку на картинку, которая была загружена в telegraph. Ее надо будет использовать при создании записи
Можно не загружать фаил в telegraph, а просто указать ссылку на картинку в инетренете, telegraph сам скачает картинку и прикрепит ее к сообщению.
Как создавать медийные посты в Telegra.ph
Создания ценности через контент — это ваш ключевой навык для раскрутки канала в Telegram. Цель ценности контента — способность решать какую-либо проблему. Важно опубликовать контент так, чтобы он генерировал трафик. Для этого существует несколько сервисов. В этой статье я расскажу о Telegra.ph.
Telegraph
Telegra.ph дает возможность публиковать тексты, фотографии, видео. Если разместить ссылку на пост в Telegraph в чат или собственный канал, то подписчики смогут посмотреть статью с функцией быстрого просмотра Instant View . То есть, при нажатии на ссылку, происходит мгновенный переход на статью. В частности, в Telegraph вы можете создать : 1-2) курсив, жирный 3) ссылка 4-5) два типа заголовков (первого и второго уровней) 6) цитирование 7) вставка фотографии (с возможностью добавить подпись) 8) вставка видео с YouTube и Vimeo Про цитирование нужно заметить, что оно бывает двух видов
Якоря
С помощью якорей можно сделать оглавление, можно отправить читателя сразу к интересующему его месту вашего текста. Якорь — это заголовок, который не должен повторяться далее, не может быть одинаковым с другим заголовком. Ссылка на якорь начинается с тега # и без пробелов. Если в заголовке несколько слов, они пишутся через тире (пример #Глава-номер-пять) ссылка #_tl_editor она просто перебрасывает в начало всего документа.
Работа с картинками
Картинки можно вставить с помощью маленького фотоаппаратика, что появляется слева в каждой новой строке абзаца, либо просто перетянуть сюда и сохранить. Можно перетащить картинку из интернета, например с яндекса. Иногда бывает, при попытки сохранить публикацию сразу после вставки картинки, выскакивает надпись «Upload in progress. Please wait. » Тут нужно просто подождать, пока картинка прогрузится в телеграф. Картинку можно подписывать: Вы видите надпись под картинкой Caption (optional)? Здесь можно подписывать картинку.
Видео
В телеграф можно загружать как видео так и гиф. Размер не должен превышать 5 Мб. Делается также через маленький фотоаппаратик (жмем <>), появится
Страничность
- Для начала сохраняем первую статью. Потом создаем вторую. Тоже сохраняем.
- Копируем ссылку 2-й статьи и идем в первую и редактируем.
- Внизу документа, пишем сообщение формата «Следующая глава», или «Читать дальше».
- Сохраняем, копируем ссылку первого документа, идем во второй и повторяем пункт два.
Пример: ЧИТАТЬ ДАЛЬШЕ —>
Так можно вернуться в начало статьи. Помните же про тег#_tl_editor , пример его применения: Наверх (вставляем код)
Вот так выглядит пост в Telegraph на моем канале Деньги в Telegram
Желаю вам создавать медийные посты!
Но в Telegraph есть одно “но”. Telegraph не индексируется поисковыми системами. Проще говоря, ваши посты в Telegraph не будут видны поисковым системам, которые будут дополнительно выдавать их в выдаче поиска. Поэтому в следующей статье я расскажу, какие сервисы индексируются в поиске, в том числе сервис https://spark.ru/
Добавляйтесь и приглашайте своих друзей на наш канал в Telegram @dengi_tg, ссылка на канал: https://goo.gl/8BmUS7
Если вас интересует красота и молодость, подпишитесь на канал Леди Молодость: https://goo.gl/i98KZX
Спасибо за внимание и ваше время. Инна Нефедовская
#telegram #телеграм #Telegraph #контентtelegram