如何在Telegram中为自定义消息设置ChannelData

本文关键字:自定义消息 设置 ChannelData Telegram | 更新日期: 2023-09-27 18:12:52

我想发送一个自定义消息到电报。我如何设置ChannelData属性在回复使用c# ?应该设置一个字符串的名称值,如在这个链接CustomMessage?你能给我一个示例代码吗?

如何在Telegram中为自定义消息设置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;

你可以发送一个字符串,但它更干净,如果你提供的数据作为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;