MessageMediaGiveawayResults.deserialize constructor

MessageMediaGiveawayResults.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageMediaGiveawayResults.deserialize(BinaryReader reader) {
  // Read [MessageMediaGiveawayResults] fields.
  final flags = reader.readInt32();
  final onlyNewSubscribers = (flags & 1) != 0;
  final refunded = (flags & 4) != 0;
  final channelId = reader.readInt64();
  final hasAdditionalPeersCountField = (flags & 8) != 0;
  final additionalPeersCount =
      hasAdditionalPeersCountField ? reader.readInt32() : null;
  final launchMsgId = reader.readInt32();
  final winnersCount = reader.readInt32();
  final unclaimedCount = reader.readInt32();
  final winners = reader.readVectorInt64();
  final months = reader.readInt32();
  final hasPrizeDescriptionField = (flags & 2) != 0;
  final prizeDescription =
      hasPrizeDescriptionField ? reader.readString() : null;
  final untilDate = reader.readDateTime();

  // Construct [MessageMediaGiveawayResults] object.
  final returnValue = MessageMediaGiveawayResults(
    onlyNewSubscribers: onlyNewSubscribers,
    refunded: refunded,
    channelId: channelId,
    additionalPeersCount: additionalPeersCount,
    launchMsgId: launchMsgId,
    winnersCount: winnersCount,
    unclaimedCount: unclaimedCount,
    winners: winners,
    months: months,
    prizeDescription: prizeDescription,
    untilDate: untilDate,
  );

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