Telegram:使用 Telegraf (NodeJs) 将照片发送到消息中而不显示照片 link
Telegram: Sen photo into a message without showing the photo link with Telegraf (NodeJs)
我在发送包含文本的消息的频道上,带有 link(link 没有图像)和图像(来自亚马逊的小费产品):
我试过这段代码,它很相似:
bot.telegram.sendMessage('mychannel', `Hello https:/path/to/image.jpg`)
它的工作原理类似,但它仍然是 link。那么我怎么能用图像预览而不是 link 呢?
谢谢
没有 link 就无法发送预览。您可以尝试通过自己的电报帐户获得一些,您会发现这是不可能的。
为照片添加一些标题而不是预览。
一个解决方法(技巧)是插入 link 但使用空字符 unicode(例如来自 https://emptycharacter.com/)
这里有一个例子(我在photo URL中插入了一个空字符)
一些示例代码可以帮助您入门:
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()
接受 URL 和 parse_mode(HTML 或 markdown),然后创建一个新的 URL用空字符表示为link-text和return吧。
我在发送包含文本的消息的频道上,带有 link(link 没有图像)和图像(来自亚马逊的小费产品):
我试过这段代码,它很相似:
bot.telegram.sendMessage('mychannel', `Hello https:/path/to/image.jpg`)
它的工作原理类似,但它仍然是 link。那么我怎么能用图像预览而不是 link 呢?
谢谢
没有 link 就无法发送预览。您可以尝试通过自己的电报帐户获得一些,您会发现这是不可能的。 为照片添加一些标题而不是预览。
一个解决方法(技巧)是插入 link 但使用空字符 unicode(例如来自 https://emptycharacter.com/)
这里有一个例子(我在photo URL中插入了一个空字符)
一些示例代码可以帮助您入门:
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()
接受 URL 和 parse_mode(HTML 或 markdown),然后创建一个新的 URL用空字符表示为link-text和return吧。