首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电报:在没有显示与Telegraf (NodeJs)的照片链接的情况下,将照片转换成消息

电报:在没有显示与Telegraf (NodeJs)的照片链接的情况下,将照片转换成消息
EN

Stack Overflow用户
提问于 2020-09-10 18:03:30
回答 2查看 1.4K关注 0票数 1

我在一个发送包含文本的消息的通道上,其中有一个链接(该链接没有图像)和一个图像(来自amazon的提示产品):

我试过这段代码,它也是类似的:

代码语言:javascript
复制
bot.telegram.sendMessage('mychannel', `Hello https:/path/to/image.jpg`)

它的工作原理类似,但它仍然是联系的纽带。那么,我怎样才能把这种方式与图像预览,而不是链接呢?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-11 18:00:36

一个解决办法(技巧)是插入链接,但使用空字符unicode (如来自https://emptycharacter.com/)。

下面是一个示例(我插入了一个空字符的照片URL )

让您开始使用的一些示例代码:

代码语言:javascript
复制
const Telegraf = require("telegraf");

const bot = new Telegraf(" ... ");

const CHAT_ID = ... ;

function getHiddenLink(url, parse_mode = "markdown") {
  const emptyChar = "‎"; // copied and pasted the char from https://emptycharacter.com/

  switch (parse_mode) {
    case "markdown":
      return `[${emptyChar}](${url})`;
    case "HTML":
      return `<a href="${url}">${emptyChar}</a>`;
    default:
      throw new Error("invalid parse_mode");
  }
}


// Option 1: sending with MARKDOWN syntax
bot.telegram.sendMessage(
  CHAT_ID,
  `
some test text in markdown
${getHiddenLink("https://i.stack.imgur.com/TPKR5.png", "markdown")}
`,
  {
    parse_mode: "markdown",
  }
);


// Another option: sending with HTML syntax
bot.telegram.sendMessage(
  CHAT_ID,
  `
some test text in HTML
${getHiddenLink("https://i.stack.imgur.com/TPKR5.png", "HTML")}
`,
  {
    parse_mode: "HTML",
  }
);

在这里,我们只创建一个新的函数getHiddenLink(),它接受parse_mode和URL (HTML ),只需创建一个新的URL表示,并将空字符作为链接文本并返回它。

票数 1
EN

Stack Overflow用户

发布于 2020-09-11 17:29:01

没有链接就无法发送预览。你可以尝试通过你自己的电报帐户有一些,你会发现这是不可能的。而不是预览,添加一些标题到照片。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63835334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档