BotInfo.deserialize constructor
BotInfo.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory BotInfo.deserialize(BinaryReader reader) {
// Read [BotInfo] fields.
final flags = reader.readInt32();
final hasUserIdField = (flags & 1) != 0;
final userId = hasUserIdField ? reader.readInt64() : null;
final hasDescriptionField = (flags & 2) != 0;
final description = hasDescriptionField ? reader.readString() : null;
final hasDescriptionPhotoField = (flags & 16) != 0;
final descriptionPhoto =
hasDescriptionPhotoField ? reader.readObject() as PhotoBase : null;
final hasDescriptionDocumentField = (flags & 32) != 0;
final descriptionDocument = hasDescriptionDocumentField
? reader.readObject() as DocumentBase
: null;
final hasCommandsField = (flags & 4) != 0;
final commands =
hasCommandsField ? reader.readVectorObject<BotCommandBase>() : null;
final hasMenuButtonField = (flags & 8) != 0;
final menuButton =
hasMenuButtonField ? reader.readObject() as BotMenuButtonBase : null;
// Construct [BotInfo] object.
final returnValue = BotInfo(
userId: userId,
description: description,
descriptionPhoto: descriptionPhoto,
descriptionDocument: descriptionDocument,
commands: commands,
menuButton: menuButton,
);
// Now return the deserialized [BotInfo].
return returnValue;
}