public static TGEditMessageTextDTO BuildChatListEditMessage(TGSendMessageDTO message, long messageId)
 {
     return(new TGEditMessageTextDTO
     {
         ChatId = message.ChatId,
         DisableWebPagePreview = true,
         MessageId = messageId,
         ParseMode = nameof(MessageParseModelType.Html),
         ReplyMarkup = message.ReplyMarkup,
         Text = message.Text
     });
 }
        public static TGSendMessageDTO BuildHelpMessage(long chatId)
        {
            var message = new TGSendMessageDTO
            {
                ChatId = chatId,
                DisableWebPagePreview = true,
                ReplyMarkup           = new { remove_keyboard = true }
            };

            message.Text = "/list 列出已收录群组分类 \n" +
                           "/join 收录群组或频道 \n" +
                           "/search 收录群组或者频道 \n" +
                           "/mylist 列出你是创建人的群组或频道 \n" +
                           "/update 更改群组或频道分类 \n" +
                           "/remove 移除群组或频道 \n" +
                           "/reset 重置命令状态";
            return(message);
        }
        public static TGSendMessageDTO BuildChatListMessage(IPagedResult <Chat> paged, long chatId, long messageId)
        {
            var dto = new TGSendMessageDTO
            {
                ChatId = chatId,
                DisableWebPagePreview = true,
                ParseMode             = nameof(MessageParseModelType.Html)
            };

            if (paged.Data == null || !paged.Data.Any())
            {
                dto.Text = "暂无数据,群组数据将持续完善";
            }
            else
            {
                foreach (var item in paged.Data)
                {
                    if (item.ChatType == ChatType.Channel)
                    {
                        dto.Text += $"📢|👤{item.MembersCount}| <a href=\"https://t.me/{item.UserName}\">{item.Title}</a>\n";
                    }
                    else if (item.ChatType == ChatType.SuperGroup)
                    {
                        dto.Text += $"👥|👤{item.MembersCount}| <a href=\"https://t.me/{item.UserName}\">{item.Title}</a>\n";
                    }
                    else if (item.ChatType == ChatType.Group)
                    {
                        dto.Text += $"🔒|👤{item.MembersCount}| <a href=\"{item.InviteLink}\">{item.Title}</a>\n";
                    }
                }

                var pager = new TGInlineKeyboardMarkup
                {
                    InlineKeyboard = new[]
                    {
                        new List <TGInlineKeyboardMarkup.InlineKeyboardButton>()
                        {
                            new TGInlineKeyboardMarkup.InlineKeyboardButton
                            {
                                Text         = paged.PageIndex == 1 ? "首页" : "上一页",
                                CallbackData = JsonConvert.SerializeObject(new TGCallbackQueryDataDTO
                                {
                                    PageIndex = paged.PageIndex == 1 ? 0 : paged.PageIndex - 1,
                                    MessageId = messageId
                                })
                            },
                            new TGInlineKeyboardMarkup.InlineKeyboardButton
                            {
                                Text         = $"第{paged.PageIndex}页",
                                CallbackData = JsonConvert.SerializeObject(new TGCallbackQueryDataDTO
                                {
                                    PageIndex = 0,
                                    MessageId = messageId
                                })
                            },
                            new TGInlineKeyboardMarkup.InlineKeyboardButton
                            {
                                Text         = paged.PageIndex == paged.TotalPages ? "尾页" : "下一页",
                                CallbackData = JsonConvert.SerializeObject(new TGCallbackQueryDataDTO
                                {
                                    PageIndex = paged.PageIndex == paged.TotalPages ? 0 : paged.PageIndex + 1,
                                    MessageId = messageId
                                })
                            }
                        }
                    }
                };
                dto.ReplyMarkup = pager;
            }
            return(dto);
        }