如何在Telegram中为自定义消息设置ChannelData
本文关键字:自定义消息 设置 ChannelData Telegram | 更新日期: 2023-09-27 18:12:52
我想发送一个自定义消息到电报。我如何设置ChannelData属性在回复使用c# ?应该设置一个字符串的名称值,如在这个链接CustomMessage?你能给我一个示例代码吗?
是。它可以是字符串化的json。例如,要发送贴纸,您可以使用以下代码:
var channelData = "{";
channelData += "'method': 'sendSticker',";
channelData += "'parameters':";
channelData += "{";
channelData += "'sticker':";
channelData += "{";
channelData += "'url': 'http://www.thisiscolossal.com/wp-content/uploads/2014/03/120430.gif',"
channelData += "'mediaType': 'image/gif'";
channelData += "}";
channelData += "}";
channelData += "}";
var reply = new Activity();
reply.ChannelData = channelData;
你可以发送一个字符串,但它更干净,如果你提供的数据作为Json对象(JObject);不是字符串。下面是一些代码示例(来自我的博客文章);展示如何发送Facebook的快速回复。你需要为Telegram做类似的事情;制作它所需的特定对象,替换属性的名称,等等。
var channelData = JObject.FromObject(new
{
quick_replies = new dynamic[]
{
new
{
content_type = "text",
title = "Blue",
payload = "DEFINED_PAYLOAD_FOR_PICKING_BLUE",
image_url = "https://cdn3.iconfinder.com/data/icons/developperss/PNG/Blue%20Ball.png"
},
new
{
content_type = "text",
title = "Green",
payload = "DEFINED_PAYLOAD_FOR_PICKING_GREEN",
image_url = "https://cdn3.iconfinder.com/data/icons/developperss/PNG/Green%20Ball.png"
},
new
{
content_type = "text",
title = "Red",
payload = "DEFINED_PAYLOAD_FOR_PICKING_RED",
}
}
});
reply.ChannelData = channelData;