private string ConvertEdit(bool hasEditDate, bool hasViaBotId, TLReplyMarkupBase replyMarkup) { var message = ViewModel; var bot = false; if (message.From != null) { bot = message.From.IsBot; } return(hasEditDate && !hasViaBotId && !bot && !(replyMarkup is TLReplyInlineMarkup) ? "edited\u00A0\u2009" : string.Empty); }
private void OnReplyMarkupChanged(TLReplyMarkupBase newValue, TLReplyMarkupBase oldValue) { var inline = Message is TLMessage; var resize = false; TLVector <TLKeyboardButtonRow> rows = null; if (newValue is TLReplyKeyboardMarkup keyboardMarkup && !inline) { rows = keyboardMarkup.Rows; resize = keyboardMarkup.IsResize; }
private void SetReplyMarkup(TLMessage message) { if (Reply != null && message != null) { return; } if (message != null && message.ReplyMarkup != null) { if (message.ReplyMarkup is TLReplyInlineMarkup) { return; } //var keyboardMarkup = message.ReplyMarkup as TLReplyKeyboardMarkup; //if (keyboardMarkup != null && keyboardMarkup.IsPersonal && !message.IsMention) //{ // return; //} var keyboardHide = message.ReplyMarkup as TLReplyKeyboardHide; if (keyboardHide != null && _replyMarkupMessage != null && _replyMarkupMessage.FromId.Value != message.FromId.Value) { return; } var keyboardForceReply = message.ReplyMarkup as TLReplyKeyboardForceReply; if (keyboardForceReply != null /*&& !keyboardForceReply.HasResponse*/) { _replyMarkupMessage = null; ReplyMarkup = null; Reply = message; return; } } //this.SuppressOpenCommandsKeyboard = (message != null && message.ReplyMarkup != null && suppressOpenKeyboard); _replyMarkupMessage = message; ReplyMarkup = message?.ReplyMarkup; }
public void EditMessageAsync(TLInputPeerBase peer, int id, string message, TLVector <TLMessageEntityBase> entities, TLReplyMarkupBase replyMarkup, bool noWebPage, Action <TLUpdatesBase> callback, Action <TLRPCError> faultCallback = null) { var obj = new TLMessagesEditMessage { Flags = 0, Peer = peer, Id = id, Message = message, IsNoWebPage = noWebPage, Entities = entities, ReplyMarkup = replyMarkup }; const string caption = "messages.editMessage"; SendInformativeMessage <TLUpdatesBase>(caption, obj, result => { var multiPts = result as ITLMultiPts; if (multiPts != null) { _updatesService.SetState(multiPts, caption); } else { ProcessUpdates(result, null, true); } callback?.Invoke(result); }, faultCallback); }
//public MessageControlBase() //{ // DataContextChanged += (s, args) => // { // if (ViewModel != null) // { // Loading(s, null); // } // }; //} #region Binding protected Visibility EditedVisibility(bool hasEditDate, bool hasViaBotId, TLReplyMarkupBase replyMarkup) { return(hasEditDate && !hasViaBotId && replyMarkup?.TypeId != TLType.ReplyInlineMarkup ? Visibility.Visible : Visibility.Collapsed); }