我需要机器人获取图像的 url 地址,例如从 discord 中,并将其插入到 telegra.ph 文章中,它将 url 转换为图像。如果这是手动完成的,那么您需要插入一个链接并按 Enter,只有这样图像才会成为图像,而不是链接。
但是,如果您只是插入一个链接,它将仍然是文本。所以机器人插入了网址,但链接并没有变成图片。
我个人没有找到合适的 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())
要附加图片,您首先需要从 URL 下载图片,然后使用 API 上传图片文件。这可以这样做:
该函数将返回上传到电报的图像的链接。创建记录时需要使用它
来源:https ://stackoverflow.com/a/70307283/11695435
升级版:
您不能将文件上传到电报,而只需指定互联网上图片的链接,电报将下载图片本身并将其附加到消息中。
来源:https ://core.telegram.org/bots/api#sendphoto
像这样解决它: