private MessageWithButtons ParseMessageWithButtons(String MessageName) { var message = new MessageWithButtons(); _settingsDocument = new XmlDocument(); _settingsDocument.Load(_xmlFileName); XmlElement xRoot = _settingsDocument.DocumentElement; foreach (XmlNode xnode in xRoot) { // получаем атрибут name if (xnode.Attributes.Count > 0) { XmlNode attr = xnode.Attributes.GetNamedItem("name"); XmlNode attrType = xnode.Attributes.GetNamedItem("type"); if (attr != null && attrType != null) { if (attr.Value == MessageName) { List <Button> MessageButtons = new List <Button>(); foreach (XmlNode messageParams in xnode.ChildNodes) { if (messageParams.Name == "Text") { message.Text = messageParams.InnerText; } if (messageParams.Name == "Buttons") { foreach (XmlNode button in messageParams.ChildNodes) { Button CurrentButton = new Button(); foreach (XmlNode buttonParams in button.ChildNodes) { if (buttonParams.Name == "Text") { CurrentButton.Text = buttonParams.InnerText; } if (buttonParams.Name == "Callback") { CurrentButton.Callback = buttonParams.InnerText; } } MessageButtons.Add(CurrentButton); } } } message.Buttons = MessageButtons; } } } } return(message); }
public String ParsePreviewEvent(RLEvent rLEvent) { if (rLEvent.Label == null) { return(NoEventsFound().Text); } var message = new MessageWithButtons(); _settingsDocument = new XmlDocument(); _settingsDocument.Load(_xmlFileName); String MarkedUpText = ""; XmlElement xRoot = _settingsDocument.DocumentElement; foreach (XmlNode xnode in xRoot) { if (xnode.Attributes.Count > 0) { XmlNode attr = xnode.Attributes.GetNamedItem("name"); XmlNode attrType = xnode.Attributes.GetNamedItem("type"); if (attr != null && attrType != null) { if (attr.Value == "EventBlockPreview") { List <Button> MessageButtons = new List <Button>(); foreach (XmlNode events in xnode.ChildNodes[0].ChildNodes) { XmlNode attrTypeEvent = events.Attributes.GetNamedItem("markup_type"); if (attr != null) { if (events.Name == "Event" && attrTypeEvent.Value == rLEvent.MarkupType) { MarkedUpText = FormatMarkUp(events, rLEvent); } } } message.Buttons = MessageButtons; } } } } return(MarkedUpText); }
private Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup BuildKeyboardFromMessage(MessageWithButtons message) { var buttonLayout = new Telegram.Bot.Types.InlineKeyboardButtons.InlineKeyboardButton[message.Buttons.Count][]; int i = 0; for (i = 0; i < message.Buttons.Count; ++i) { buttonLayout[i] = new[] { new Telegram.Bot.Types.InlineKeyboardButtons.InlineKeyboardCallbackButton(message.Buttons[i].Text, message.Buttons[i].Callback) }; } return(new Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup(buttonLayout)); }