MessagesSendMultiMedia.deserialize constructor

MessagesSendMultiMedia.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessagesSendMultiMedia.deserialize(BinaryReader reader) {
  // Read [MessagesSendMultiMedia] fields.
  final flags = reader.readInt32();
  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 multiMedia = reader.readVectorObject<InputSingleMediaBase>();
  final hasScheduleDateField = (flags & 1024) != 0;
  final scheduleDate = hasScheduleDateField ? reader.readDateTime() : 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;

  // Construct [MessagesSendMultiMedia] object.
  final returnValue = MessagesSendMultiMedia(
    silent: silent,
    background: background,
    clearDraft: clearDraft,
    noforwards: noforwards,
    updateStickersetsOrder: updateStickersetsOrder,
    invertMedia: invertMedia,
    allowPaidFloodskip: allowPaidFloodskip,
    peer: peer,
    replyTo: replyTo,
    multiMedia: multiMedia.items,
    scheduleDate: scheduleDate,
    sendAs: sendAs,
    quickReplyShortcut: quickReplyShortcut,
    effect: effect,
    allowPaidStars: allowPaidStars,
  );

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