我想制作一个以文本形式发送一些静态自定义表情符号的机器人。我没有找到任何有用的说明,所以我尝试看看它的内部是如何制作的。我为我的测试机器人设置了一个 Webhook,并向我的机器人转发了一条包含自定义表情符号的消息。在那里,我发现了这样的东西(一些信息被删除,因为它是多余的):
{
"update_id": 846867202,
"message": {
"message_id": 68,
"from": {
"id": <my id>,
"is_bot": false,
"first_name": "Shkiper",
"last_name": "Desna"
},
"chat": {
"id": <my id>,
"first_name": "Shkiper",
"last_name": "Desna",
"type": "private"
},
"date": 1728164235,
"text": "some emoji \ud83e\udd2a in text",
"entities": [
{
"offset": 11,
"length": 2,
"type": "custom_emoji",
"custom_emoji_id": "5408846744727334338"
}
]
}
}
所以我用它来发出 JSON 请求:
{
"chat_id": <my id>,
"text": "hello \ud83e\udd2a",
"entities": [
{
"type": "custom_emoji",
"offset": 6,
"length": 2,
"custom_emoji_id": "5408846744727334338"
}
]
}
将其保存到文件
mess.json
并使用 cURL 发送:
curl https://api.telegram.org/bot<bot token>/sendMessage --header 'Content-Type: application/json' --request POST --data @mess.json
但最终,我收到一条消息,其中仅包含常规表情符号🤪,而不是原始消息中的自定义表情符号。
如何让机器人发送自定义表情符号?
自定义表情符号实体只能由在 Fragment 上购买了额外用户名的机器人使用。
进一步观察,您可以发现例如Github |帮助发送自定义表情符号,其描述如下
您可以在 Fragment 上购买用户名,支付 5000 TON 使其可分配给机器人,机器人将能够使用高级表情符号。
关于网站的fragment.com 似乎表明了相同(没有提及确切的费用)
您可以升级您的收藏用户名,将其分配给 Telegram 机器人。要升级,请将用户名分配给 Fragment 上的机器人,就像分配任何其他帐户一样,并在出现提示时支付一次性费用。