如何在 Telegram 中为自定义消息设置 ChannelData?
How to set ChannelData for a custom message in Telegram?
我想向 Telegram 发送自定义消息。如何使用 C# 设置 ChannelData 属性 作为回复?应该设置一个名称值的字符串,例如link CustomMessage中提到的?你能给我一个示例代码吗?
您可以发送一个字符串,但如果您将数据作为 Json 对象 (JObject) 提供,它会更清晰;不是一个字符串。这是一些代码示例(来自我的 blog post);显示如何发送 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;
是的。它可以被字符串化 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;
我想向 Telegram 发送自定义消息。如何使用 C# 设置 ChannelData 属性 作为回复?应该设置一个名称值的字符串,例如link CustomMessage中提到的?你能给我一个示例代码吗?
您可以发送一个字符串,但如果您将数据作为 Json 对象 (JObject) 提供,它会更清晰;不是一个字符串。这是一些代码示例(来自我的 blog post);显示如何发送 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;
是的。它可以被字符串化 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;