AttachMenuBot.deserialize constructor

AttachMenuBot.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory AttachMenuBot.deserialize(BinaryReader reader) {
  // Read [AttachMenuBot] fields.
  final flags = reader.readInt32();
  final inactive = (flags & 1) != 0;
  final hasSettings = (flags & 2) != 0;
  final requestWriteAccess = (flags & 4) != 0;
  final showInAttachMenu = (flags & 8) != 0;
  final showInSideMenu = (flags & 16) != 0;
  final sideMenuDisclaimerNeeded = (flags & 32) != 0;
  final botId = reader.readInt64();
  final shortName = reader.readString();
  final hasPeerTypesField = (flags & 8) != 0;
  final peerTypes = hasPeerTypesField
      ? reader.readVectorObject<AttachMenuPeerTypeBase>()
      : null;
  final icons = reader.readVectorObject<AttachMenuBotIconBase>();

  // Construct [AttachMenuBot] object.
  final returnValue = AttachMenuBot(
    inactive: inactive,
    hasSettings: hasSettings,
    requestWriteAccess: requestWriteAccess,
    showInAttachMenu: showInAttachMenu,
    showInSideMenu: showInSideMenu,
    sideMenuDisclaimerNeeded: sideMenuDisclaimerNeeded,
    botId: botId,
    shortName: shortName,
    peerTypes: peerTypes,
    icons: icons,
  );

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