【问题标题】:Send Telegram message with link and image发送带有链接和图像的电报消息
【发布时间】:2021-11-24 11:06:07
【问题描述】:
import telebot
from telebot import types


TOKEN = ''
bot = telebot.TeleBot(TOKEN)    #create a new Telegram Bot object


tg_markup = types.InlineKeyboardMarkup(row_width=2)
tg_itembtn1 = types.InlineKeyboardButton("???? GO ????", 'http://google.it')
tg_markup.add(tg_itembtn1)

tg_message_to_send = "Hello!\n\n"
tg_message_to_send += "This is a test"
tg_message_to_send = "Title\n\n"
tg_message_to_send += "????Other text: €\n"
tg_message_to_send += "????Text #2: €\n"
tg_message_to_send += "Text #3 %\n\n"
tg_message_to_send += "► https://bit . ly/dsfini"
tg_message_to_send += "<a href='https://www.collinsdictionary.com/images/thumb/tree_267376982_250.jpg?version=4.0.200'>&#8205;</a>"


bot.send_message('CHAT_ID_HERE', tg_message_to_send, parse_mode = 'HTML', reply_markup = tg_markup, disable_web_page_preview=False)

我想向 Telegram 组发送一条消息,其中包含一个链接和一个附加的图像。 问题是上面的代码没有发送图像。经过多次尝试,我发现如果我省略包含链接 https://bit 的行。 ly/dsfini,图片正在发送中。

如何同时发送链接和图片?

注意:由于 stackoverflow 政策,我在链接中插入了一个空格。

【问题讨论】:

    标签: python python-3.x telegram py-telegram-bot-api


    【解决方案1】:

    大多数 TG 客户端会显示消息中包含的第一个链接的预览。因此,将隐藏的超引用移动到消息的开头应该可以解决问题。


    编辑

    请注意,tg_message_to_send = "Title\n\n" 会覆盖 tg_message_to_send。改为

    tg_message_to_send = "Hello!\n\n"
    tg_message_to_send += "<a href='https://www.collinsdictionary.com/images/thumb/tree_267376982_250.jpg?version=4.0.200'>&#8205;</a>"
    tg_message_to_send += "This is a test"
    tg_message_to_send += "Title\n\n"
    tg_message_to_send += "?Other text: €\n"
    tg_message_to_send += "?Text #2: €\n"
    tg_message_to_send += "Text #3 %\n\n"
    tg_message_to_send += "► https://bit . ly/dsfini"
    

    或者干脆

    tg_message_to_send = (
        "Hello!\n\n"
        "<a href='https://www.collinsdictionary.com/images/thumb/tree_267376982_250.jpg?version=4.0.200'>&#8205;</a>"
        "This is a test"
        "Title\n\n"
        "?Other text: €\n"
        "?Text #2: €\n"
        "Text #3 %\n\n"
        "► https://bit . ly/dsfini"
    )
    

    给了我想要的结果。

    【讨论】:

    • 按照您的建议,我尝试将图片链接放在邮件顶部。它有效,但并非总是如此。有时图像没有出现,我不知道为什么。
    • 最终,是否显示预览取决于客户端。如果您想确保图像显示,我建议通过send_photo发送它
    • 有没有办法用 send_photo 在文字下方显示图片?
    • 如何显示照片 + 标题又是客户的决定……机器人 API 无法要求客户在底部显示照片。您可以发送 2 条消息,首先是文本,然后是图像
    猜你喜欢
    • 2016-10-18
    • 2018-11-19
    • 1970-01-01
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2017-12-05
    • 1970-01-01
    相关资源
    最近更新 更多