MessageMediaGiveaway.deserialize constructor

MessageMediaGiveaway.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageMediaGiveaway.deserialize(BinaryReader reader) {
  // Read [MessageMediaGiveaway] fields.
  final flags = reader.readInt32();
  final onlyNewSubscribers = (flags & 1) != 0;
  final winnersAreVisible = (flags & 4) != 0;
  final channels = reader.readVectorInt64();
  final hasCountriesIso2Field = (flags & 2) != 0;
  final countriesIso2 =
      hasCountriesIso2Field ? reader.readVectorString() : null;
  final hasPrizeDescriptionField = (flags & 8) != 0;
  final prizeDescription =
      hasPrizeDescriptionField ? reader.readString() : null;
  final quantity = reader.readInt32();
  final months = reader.readInt32();
  final untilDate = reader.readDateTime();

  // Construct [MessageMediaGiveaway] object.
  final returnValue = MessageMediaGiveaway(
    onlyNewSubscribers: onlyNewSubscribers,
    winnersAreVisible: winnersAreVisible,
    channels: channels,
    countriesIso2: countriesIso2,
    prizeDescription: prizeDescription,
    quantity: quantity,
    months: months,
    untilDate: untilDate,
  );

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