MessagesSendMessage.deserialize constructor

MessagesSendMessage.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessagesSendMessage.deserialize(BinaryReader reader) {
  // Read [MessagesSendMessage] fields.
  final flags = reader.readInt32();
  final noWebpage = (flags & 2) != 0;
  final silent = (flags & 32) != 0;
  final background = (flags & 64) != 0;
  final clearDraft = (flags & 128) != 0;
  final noforwards = (flags & 16384) != 0;
  final updateStickersetsOrder = (flags & 32768) != 0;
  final invertMedia = (flags & 65536) != 0;
  final allowPaidFloodskip = (flags & 524288) != 0;
  final peer = reader.readObject() as InputPeerBase;
  final hasReplyToField = (flags & 1) != 0;
  final replyTo =
      hasReplyToField ? reader.readObject() as InputReplyToBase : null;
  final message = reader.readString();
  final randomId = reader.readInt64();
  final hasReplyMarkupField = (flags & 4) != 0;
  final replyMarkup =
      hasReplyMarkupField ? reader.readObject() as ReplyMarkupBase : null;
  final hasEntitiesField = (flags & 8) != 0;
  final entities =
      hasEntitiesField ? reader.readVectorObject<MessageEntityBase>() : null;
  final hasScheduleDateField = (flags & 1024) != 0;
  final scheduleDate = hasScheduleDateField ? reader.readDateTime() : null;
  final hasScheduleRepeatPeriodField = (flags & 16777216) != 0;
  final scheduleRepeatPeriod =
      hasScheduleRepeatPeriodField ? reader.readInt32() : null;
  final hasSendAsField = (flags & 8192) != 0;
  final sendAs = hasSendAsField ? reader.readObject() as InputPeerBase : null;
  final hasQuickReplyShortcutField = (flags & 131072) != 0;
  final quickReplyShortcut = hasQuickReplyShortcutField
      ? reader.readObject() as InputQuickReplyShortcutBase
      : null;
  final hasEffectField = (flags & 262144) != 0;
  final effect = hasEffectField ? reader.readInt64() : null;
  final hasAllowPaidStarsField = (flags & 2097152) != 0;
  final allowPaidStars = hasAllowPaidStarsField ? reader.readInt64() : null;
  final hasSuggestedPostField = (flags & 4194304) != 0;
  final suggestedPost =
      hasSuggestedPostField ? reader.readObject() as SuggestedPostBase : null;
  final hasRichMessageField = (flags & 8388608) != 0;
  final richMessage = hasRichMessageField
      ? reader.readObject() as InputRichMessageBase
      : null;

  // Construct [MessagesSendMessage] object.
  final returnValue = MessagesSendMessage(
    noWebpage: noWebpage,
    silent: silent,
    background: background,
    clearDraft: clearDraft,
    noforwards: noforwards,
    updateStickersetsOrder: updateStickersetsOrder,
    invertMedia: invertMedia,
    allowPaidFloodskip: allowPaidFloodskip,
    peer: peer,
    replyTo: replyTo,
    message: message,
    randomId: randomId,
    replyMarkup: replyMarkup,
    entities: entities?.items,
    scheduleDate: scheduleDate,
    scheduleRepeatPeriod: scheduleRepeatPeriod,
    sendAs: sendAs,
    quickReplyShortcut: quickReplyShortcut,
    effect: effect,
    allowPaidStars: allowPaidStars,
    suggestedPost: suggestedPost,
    richMessage: richMessage,
  );

  // Now return the deserialized [MessagesSendMessage].
  return returnValue;
}