├── .vscode └── settings.json ├── .gitignore ├── analysis_options.yaml ├── pubspec.yaml ├── lib ├── tdlib.dart ├── src │ ├── api │ │ ├── base_classes.dart │ │ └── utils.dart │ ├── utils.dart │ └── td_json_client.dart └── client.dart ├── codegen ├── utils.dart ├── api_scraping.dart ├── tdlib_generator.dart └── tl_api.json ├── LICENSE ├── CHANGELOG.md └── README.md /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.fontFamily": "'Fira Code', 'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'" 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Files and directories created by pub 2 | .dart_tool/ 3 | .packages 4 | .vscode 5 | # Remove the following pattern if you wish to check in your lock file 6 | pubspec.lock 7 | 8 | # Conventional directory for build outputs 9 | build/ 10 | 11 | # Directory created by dartdoc 12 | doc/api/ 13 | 14 | .idea 15 | *.iml 16 | 17 | lib/td 18 | td 19 | example 20 | 21 | -------------------------------------------------------------------------------- /analysis_options.yaml: -------------------------------------------------------------------------------- 1 | # Defines a default set of lint rules enforced for 2 | # projects at Google. For details and rationale, 3 | # see https://github.com/dart-lang/pedantic#enabled-lints. 4 | include: package:pedantic/analysis_options.yaml 5 | 6 | # For lint rules and documentation, see http://dart-lang.github.io/linter/lints. 7 | # Uncomment to specify additional rules. 8 | linter: 9 | rules: 10 | prefer_single_quotes: false 11 | 12 | analyzer: 13 | 14 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tdlib 2 | description: Dart port of the Telegram Database Library (TDLib) 3 | version: 0.3.1 4 | author: Aidan T. Manning 5 | 6 | # Since dart:ffi isn't a stable feature yet you have to be on the latest dev channel 7 | environment: 8 | sdk: '>=2.6.0-dev.8.2 <3.0.0' 9 | 10 | dependencies: 11 | ffi: # ^0.1.4 12 | git: 'git://github.com/dart-lang/ffi' 13 | path: ^1.6.4 14 | meta: ^1.1.8 15 | reflectable: ^2.2.0 16 | rxdart: ^0.23.0 17 | 18 | dev_dependencies: 19 | pedantic: '^1.7.0' 20 | test: '^1.6.0' 21 | build_runner: ^1.0.0 22 | -------------------------------------------------------------------------------- /lib/tdlib.dart: -------------------------------------------------------------------------------- 1 | library tdlib; 2 | 3 | import 'src/api/objects.dart' as td_objs show Error; 4 | 5 | export 'client.dart' show TelegramClient; 6 | export 'src/td_json_client.dart' show JsonClient; 7 | export 'src/api/base_classes.dart'; 8 | export 'src/api/objects.dart'; 9 | export 'src/api/functions.dart'; 10 | export 'src/api/utils.dart' show classIndex; 11 | 12 | class TlError extends Error { 13 | final int code; 14 | final String message; 15 | 16 | @override 17 | String toString() { 18 | return 'TDLib threw an error: $code - $message'; 19 | } 20 | 21 | TlError(td_objs.Error error) : 22 | code = error.code, 23 | message = error.message; 24 | } -------------------------------------------------------------------------------- /codegen/utils.dart: -------------------------------------------------------------------------------- 1 | import "dart:convert"; 2 | 3 | final _uppers = List.generate(26, (i) => i + 0x41); 4 | 5 | String pascalToCamelCase(String string) { 6 | return string.replaceFirst(string[0], string[0].toLowerCase()); 7 | } 8 | 9 | String camelToPascalCase(String string) { 10 | return string.replaceFirst(string[0], string[0].toUpperCase()); 11 | } 12 | 13 | String camelToSnakeCase(String string) { 14 | var buf = StringBuffer(); 15 | var runes = string.runes.toList(); 16 | for (var i = 0; i < runes.length; i++) { 17 | var rune = runes[i]; 18 | var nextChar = String.fromCharCode(rune).toLowerCase(); 19 | if (i != 0 && _uppers.contains(rune)) { 20 | buf.write("_"); 21 | } 22 | 23 | buf.write(nextChar); 24 | } 25 | 26 | return buf.toString(); 27 | } 28 | 29 | String snakeToCamelCase(String string) { 30 | return string.replaceAllMapped( 31 | RegExp(r"_(\w)"), 32 | (m) => m.group(1).toUpperCase() 33 | ); 34 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright © 2019 Aidan T. Manning 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 0.3.1 2 | 3 | You must now pass a path to the parent directory of the `tdlib` dylib file when creating a new `TelegramClient`. 4 | 5 | ## 0.3.0 6 | 7 | Refactored tons of code, deleted a lot of old code. `TelegramClient.setTdLibParams()` is now deprecated in favor of `TelegramClient.defineTdlibParams()`. 8 | All `TdObjects` now accept keyword arguments in the default constructor, instead of `Map`s, which they now only accept through a named `fromJson` constructor. 9 | A `fromJson` constructor has been added to all the `TdFunction`s as well. 10 | 11 | ## 0.2.0 12 | 13 | Created an even nicer Telegram client that uses streams 14 | 15 | ## 0.1.2 16 | 17 | Used code generation to create all of the classes from the TDLib API documentation. 18 | 19 | ## 0.1.1 20 | 21 | Increased the minimum required Dart SDK version from 2.6.0 to 2.6.0-dev.8.2, as the Dart team 22 | made several breaking changes to `dart:ffi`. Had to increase the `package:ffi` version 23 | accordingly. 24 | 25 | ## 0.1.0 26 | 27 | First version. Creates a `JsonClient` and provides functions for interacting with the Telegram API 28 | directly. 29 | -------------------------------------------------------------------------------- /lib/src/api/base_classes.dart: -------------------------------------------------------------------------------- 1 | import "../utils.dart" as tdlib_utils; 2 | 3 | /// The TlObject is the forefather class of all TDLib objects. In the API it 4 | /// does not do anything (has no fields and exposes no methods), so I'm using 5 | /// it to add common functionality to all TDLib objects, such as a field for the 6 | /// @type field, and a serialization method. 7 | abstract class TlObject { 8 | /// The @type of this object, which is a string in the JSON representation of 9 | /// each class. 10 | String get tdType; 11 | 12 | /// The parameters for this object. They're how the fields of this class or 13 | /// arguments of this function are represented in TDLib. 14 | Map get params; 15 | 16 | Map serialize() { 17 | return tdlib_utils.serialize(this); 18 | } 19 | 20 | static bool isError(dynamic obj) { 21 | if (obj is TlObject) { 22 | return obj.tdType == "error"; 23 | } 24 | 25 | if (obj is Map) { 26 | return obj["@type"] == "error"; 27 | } 28 | 29 | return false; 30 | } 31 | } 32 | 33 | abstract class TdObject extends TlObject { 34 | String get tdType; 35 | } 36 | 37 | abstract class TdFunction extends TlObject { 38 | Type get returnType; 39 | } -------------------------------------------------------------------------------- /lib/src/utils.dart: -------------------------------------------------------------------------------- 1 | import "dart:io" show Platform; 2 | import "package:path/path.dart" as path; 3 | import "api/base_classes.dart"; 4 | 5 | /// Creates a path to the correctly-named dynamic library (which differs by OS) 6 | /// containing the TDLib JSON client, given the name of its containing directory 7 | /// (`dlPath`). If the platform is not supported an [Exception] is thrown. 8 | String platformPath(String dlPath) { 9 | final libName = "tdjson"; 10 | if (Platform.isLinux || Platform.isAndroid) return path.join(dlPath, "lib$libName.so"); 11 | if (Platform.isMacOS || Platform.isIOS) return path.join(dlPath, "lib$libName.dylib"); 12 | if (Platform.isWindows) return path.join(dlPath, "$libName.dll"); 13 | throw Exception("Platform Not Supported: ${Platform.operatingSystem}"); 14 | } 15 | 16 | /// Turns a [TlObject] into a [Map] that is suitable for JSON serialization and 17 | /// being sent to the Telegram API 18 | Map serialize(TlObject obj) => { 19 | "@type": pascalToCamelCase(obj.tdType), 20 | 21 | // The fields of the object. If one of the fields is a TlObject, we recurse to 22 | // serialize it in turn. 23 | ...obj.params.map((k, v) => MapEntry(k, v is TlObject ? serialize(v) : v)), 24 | }; 25 | 26 | String pascalToCamelCase(String string) { 27 | return string.replaceFirst(string[0], string[0].toLowerCase()); 28 | } 29 | 30 | String camelToPascalCase(String string) { 31 | return string.replaceFirst(string[0], string[0].toUpperCase()); 32 | } -------------------------------------------------------------------------------- /codegen/api_scraping.dart: -------------------------------------------------------------------------------- 1 | import "dart:convert" show json; 2 | import "dart:io"; 3 | import "package:http/http.dart"; 4 | import "utils.dart"; 5 | 6 | /// Parses a line of Telegram's Typed Language (TL) schema language 7 | /// It's basically a language for describing functions and class constructors, 8 | /// and it's how the TDLib classes and functions are documented. 9 | /// 10 | /// Looks something like this: 11 | /// combinatorName field1:Type1 field2:Type2 ... = ReturnType 12 | /// 13 | /// Returns a map entry for the class'/function's fields and stuff 14 | MapEntry parseTlLine(String line) { 15 | final combinatorAndType = line.split("="); 16 | final combinatorWithFields = combinatorAndType[0].split(" "); 17 | final combinatorName = combinatorWithFields[0]; 18 | final fields = combinatorWithFields.getRange(1, combinatorWithFields.length); 19 | var fieldInfo = {}; 20 | for (var field in fields) { 21 | if (field.isEmpty) continue; 22 | final fieldAndType = field.trim().split(":"); 23 | 24 | var type = tlTypeToDartType(fieldAndType[1].trim()); 25 | 26 | fieldInfo.addAll({fieldAndType[0].trim(): type}); 27 | } 28 | 29 | return MapEntry(combinatorName, { 30 | "superclass": combinatorAndType[1].trim().replaceAll(";", ""), 31 | "fields": fieldInfo, 32 | }); 33 | } 34 | 35 | String tlTypeToDartType(String tlType) { 36 | var vector = RegExp(r"vector<(.*)>").firstMatch(tlType); 37 | if (vector != null) { 38 | var generic = tlTypeToDartType(vector.group(1)); 39 | return "List<$generic>"; 40 | } 41 | 42 | var dartType = tlType; 43 | switch (tlType) { 44 | case "int32": 45 | case "int53": 46 | case "int64": 47 | dartType = "int"; 48 | break; 49 | 50 | case "bytes": 51 | dartType = "String"; 52 | break; 53 | 54 | case "Bool": 55 | dartType = "bool"; 56 | break; 57 | 58 | case "double": 59 | dartType = "double"; 60 | break; 61 | 62 | case "string": 63 | dartType = "String"; 64 | break; 65 | 66 | default: 67 | dartType = camelToPascalCase(tlType); 68 | break; 69 | } 70 | 71 | return dartType; 72 | } 73 | 74 | main() async { 75 | final client = Client(); 76 | final apiUrl = "https://raw.githubusercontent.com/tdlib/td/master/td/generate/scheme/td_api.tl"; 77 | final apiIndex = (await client.get(apiUrl)).body; 78 | 79 | final lines = apiIndex.split("\n"); 80 | Map classes = {}; 81 | Map functions = {}; 82 | 83 | var parseAsFunction = false; 84 | for (var line in lines.getRange(17, lines.length)) { 85 | if (line.contains("---functions---")) { 86 | parseAsFunction = true; 87 | continue; 88 | } else if (line.contains("---types---")) { 89 | parseAsFunction = false; 90 | continue; 91 | } 92 | 93 | if (line.isEmpty || line.startsWith("//")) continue; 94 | 95 | var combinator = parseTlLine(line); 96 | if (parseAsFunction) { 97 | var returnType = combinator.value["superclass"]; 98 | if (!functions.containsKey(returnType)) { 99 | functions.addAll({returnType: {}}); 100 | } 101 | (functions[returnType] as Map).addEntries([combinator]); 102 | } else { 103 | var superclass = combinator.value["superclass"]; 104 | if (!classes.containsKey(superclass)) { 105 | classes.addAll({superclass: {}}); 106 | } 107 | (classes[superclass] as Map).addEntries([combinator]); 108 | } 109 | } 110 | 111 | var api = { 112 | "types": classes, 113 | "functions": functions, 114 | }; 115 | 116 | File("./tl_api.json") 117 | .openWrite() 118 | .write(json.encode(api)); 119 | 120 | client.close(); 121 | } 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | TDLib for Dart (WIP) 2 | === 3 | 4 | A port of the Telegram Database Library (TDLib) for Dart. 5 | 6 | #### Update (November 1, 2019) 7 | The Dart team made a bunch of breaking changes to `dart:ffi` since I first made this so 8 | I've had to up the minimum required Dart SDK version from 2.6.0 to 2.6.0-dev.8.2. 9 | I've also had to upgrade the [`package:ffi`](https://pub.dev/packages/ffi) version to 0.1.4 (which isn't on pub so I had 10 | to pull it straight from the git repo). Please upgrade your Dart SDK version accordingly! 11 | (You'll have to be on the dev channel.) Once `dart:ffi` becomes a stable feature, 12 | hopefully this won't be a problem :) 13 | 14 | ## Motivation 15 | 16 | Last year I wanted to make a Telegram client for Flutter, but at the time Dart didn't have 17 | an FFI and my only option was to use the JNI classes and use a method channel to query the 18 | Telegram servers, which would have been a huge pain in the ass. But on September 10th, 2019 19 | the Dart team announced an FFI for Dart so I can finally make my Telegram app. Though I'll 20 | need to set up the interface with a library. 21 | 22 | ## How To Use It 23 | 24 | ### 1: Building TDLib 25 | 26 | You'll need to download and build TDLib yourself. You can figure out how to do that 27 | [here](https://tdlib.github.io/td/build.html?language=Other) (just select your OS, 28 | don't change the language option). It doesn't especially matter where you build it, as 29 | long as the path to the root directory of TDLib is passed to the `TelegramClient()`. 30 | 31 | ### 2: Including This Project 32 | 33 | As it's incomplete and requires a lot of setup, I'm not putting this on pub just yet. You have two basic 34 | options for using this. 35 | 36 | 1. Clone the repository and copy the `lib` directory into your own project folder. 37 | 1. (Recommended) Include the following in your `pubspec.yaml` file: 38 | 39 | ```yaml 40 | dependencies: 41 | #... 42 | tdlib: 43 | git: git://github/periodicaidan/dart_tdlib 44 | #... 45 | ``` 46 | 47 | ### 3: Generating Reflectors 48 | 49 | This library has a small reliance on reflection, which isn't allowed in Flutter 50 | because Flutter does "tree shaking" to eliminate unused classes, which wouldn't work 51 | if there is code that's dynamically parsed and run from strings, as it wouldn't be able 52 | to safely eliminate anything. So it makes use of [reflectable](https://pub.dev/packages/reflectable), which generates 53 | static code ahead of time to work like dart:mirrors. But you will have to generate the reflectables 54 | yourself. To do this, you can use [build runner](https://pub.dev/packages/build_runner). 55 | 56 | Include the following in your `package.yaml` file: 57 | 58 | ```yaml 59 | dev_dependencies: 60 | #... 61 | build_runner: ^1.0.0 62 | #... 63 | ``` 64 | 65 | Then, make a `build.yaml` file with the following (or add the new parts to your existing `build.yaml` file): 66 | 67 | ```yaml 68 | targets: 69 | $default: 70 | builders: 71 | reflectable: 72 | generate_for: 73 | - path/to/file.dart 74 | options: 75 | formatted: true 76 | ``` 77 | 78 | Finaly run `pub run build_runner build`. It *should* only take a few seconds though reflectable has been having some issues recently with long build times. 79 | 80 | ### 4: Now You're Ready to Rock and Roll 81 | 82 | The general structure of a program using this library is something like this: 83 | 84 | ```dart 85 | // tdlib_ex.dart 86 | import 'package:tdlib/tdlib.dart' as td; 87 | import 'tdlib_ex.reflectable.dart'; 88 | 89 | Future main() async { 90 | initializeReflectable(); 91 | 92 | final client = td.TelegramClient('path/to/td'); 93 | 94 | client.defineTdlibParams( 95 | // There are other parameters but these four are required! 96 | apiId: apiId, 97 | apiHash: apiHash, 98 | deviceModel: 'PearPhone G1', 99 | systemVersion: 'PearOS 1.0', 100 | ); 101 | 102 | try { 103 | // Get a stream to handle changes to the authorization state 104 | // Mind you, there are other authorization states and it's better to switch 105 | // over [state.runtimeType]. 106 | client.authorizationState.listen((state) async { 107 | if (state is td.AuthorizationStateWaitTdlibParameters) { 108 | await client.send(td.SetTdlibParameters(client.tdlibParams)); 109 | } 110 | }); 111 | 112 | await for (final update in client.incoming()) { 113 | // Handle each incoming update 114 | } 115 | } finally { 116 | // Be sure to close the client 117 | await client.close(); 118 | } 119 | } 120 | ``` 121 | -------------------------------------------------------------------------------- /lib/src/td_json_client.dart: -------------------------------------------------------------------------------- 1 | /// /lib/src/td_json_client.dart 2 | /// 3 | /// C- and Dart-side typedefs for each of the functions in 4 | /// td/telegram/td_json_client.h. The C versions are in snake_case and are 5 | /// prefixed by "td_". In some cases the C and Dart typedefs have the same 6 | /// signature; both are kept for the sake of consistency. 7 | /// 8 | /// This file also exports a class [JsonClient], which wraps the td_json_client 9 | /// functions in an interface that is safe, easy-to-use, and idiomatically Dart. 10 | 11 | import "dart:convert"; 12 | import "dart:ffi"; 13 | 14 | import "package:ffi/ffi.dart"; 15 | 16 | import "utils.dart"; 17 | 18 | /// Creates a new instance of TDLib client. 19 | /// 20 | /// void *td_json_client_create(void); 21 | typedef Pointer td_json_client_create(); 22 | typedef Pointer JsonClientCreate(); 23 | 24 | /// Sends request to the TDLib client. 25 | /// 26 | /// void td_json_client_send(void *client, const chat *request); 27 | typedef Void td_json_client_send(Pointer client, Pointer request); 28 | typedef void JsonClientSend(Pointer client, Pointer request); 29 | 30 | /// Receives incoming updates and request responses from the TDLib client. 31 | /// 32 | /// const char *td_json_client_receive(void *client, double timeout) 33 | typedef Pointer td_json_client_receive(Pointer client, Double timeout); 34 | typedef Pointer JsonClientReceive(Pointer client, double timeout); 35 | 36 | /// Synchronously executes TDLib request. 37 | /// 38 | /// const char *td_json_client_execute(void *client, const char* request); 39 | typedef Pointer td_json_client_execute(Pointer client, Pointer request); 40 | typedef Pointer JsonClientExecute(Pointer client, Pointer request); 41 | 42 | /// Destroys the TDLib client instance. 43 | /// 44 | /// void td_json_client_destroy(void *client); 45 | typedef Void td_json_client_destroy(Pointer client); 46 | typedef void JsonClientDestroy(Pointer client); 47 | 48 | /// Represents a Telegram client that sends and receives JSON data. 49 | class JsonClient { 50 | Pointer _client; 51 | 52 | // If the client is inactive (if [destroy] has been called), further calls 53 | // to this class' methods will fail 54 | bool active; 55 | 56 | // Private pointers to native functions, so they don't have to be looked up 57 | // for each API call 58 | JsonClientCreate _jsonClientCreate; 59 | JsonClientSend _jsonClientSend; 60 | JsonClientReceive _jsonClientReceive; 61 | JsonClientExecute _jsonClientExecute; 62 | JsonClientDestroy _jsonClientDestroy; 63 | 64 | JsonClient.create(String dlDir) { 65 | // Get the path to the td_json_client dynamic library 66 | final dlPath = platformPath(dlDir); 67 | 68 | final dylib = DynamicLibrary.open(dlPath); 69 | 70 | // Get the td_json_client_create function from the dylib and create a client 71 | _jsonClientCreate = dylib 72 | .lookupFunction("td_json_client_create"); 73 | _jsonClientSend = dylib 74 | .lookupFunction("td_json_client_send"); 75 | _jsonClientReceive = dylib 76 | .lookupFunction("td_json_client_receive"); 77 | _jsonClientDestroy = dylib 78 | .lookupFunction("td_json_client_destroy"); 79 | _jsonClientExecute = dylib 80 | .lookupFunction("td_json_client_execute"); 81 | 82 | _client = _jsonClientCreate(); 83 | active = true; 84 | } 85 | 86 | /// If the client is not [active] then this throws an [Exception]. 87 | void _assertActive() { 88 | if (!active) { 89 | throw Exception("Telegram JSON client has been closed."); 90 | } 91 | } 92 | 93 | /// Send a request to the Telegram API 94 | /// This is an async version of [execute], which the TDLib docs don't make 95 | /// immediately clear :p 96 | void send(Map request) { 97 | _assertActive(); 98 | var reqJson = json.encode(request); 99 | _jsonClientSend(_client, Utf8.toUtf8(reqJson)); 100 | } 101 | 102 | /// Receive the API's response 103 | Map receive([double timeout = 2.0]) { 104 | _assertActive(); 105 | final response = _jsonClientReceive(_client, timeout); 106 | final resString = Utf8.fromUtf8(response); 107 | return json.decode(resString); 108 | } 109 | 110 | /// Execute a TDLib function synchronously 111 | /// If you need to execute a function asynchronously (for example, you get an 112 | /// error along the lines of "Function can't be executed synchronously"), use 113 | /// [send] instead. 114 | Map execute(Map request) { 115 | _assertActive(); 116 | final result = _jsonClientExecute(_client, Utf8.toUtf8(json.encode(request))); 117 | var resJson = Utf8.fromUtf8(result); 118 | return json.decode(resJson); 119 | } 120 | 121 | /// Destroy the client 122 | void destroy() { 123 | _assertActive(); 124 | _jsonClientDestroy(_client); 125 | active = false; 126 | } 127 | } -------------------------------------------------------------------------------- /lib/client.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:meta/meta.dart'; 4 | import 'package:rxdart/rxdart.dart'; 5 | 6 | import "src/td_json_client.dart" show JsonClient; 7 | import "src/api/base_classes.dart"; 8 | import "src/api/objects.dart"; 9 | import "src/api/utils.dart" show tryConvertToTdObject; 10 | 11 | /// A controller that handles incoming requests asynchronously and exposes 12 | /// [Observable]s that stream data to their listeners. 13 | class TelegramClient with AsyncClient { 14 | @override 15 | final JsonClient _client; 16 | 17 | final BehaviorSubject _updates = BehaviorSubject(); 18 | 19 | /// All [Update] objects received by the client are put into a 20 | /// [BehaviorSubject] whose [Stream] is exposed to other parts of the 21 | /// application. This way updates can be listened to, filtered, mapped, and 22 | /// Flutter widgets can rebuild in response to them with a StreamBuilder. 23 | Stream get updates => _updates.stream; 24 | 25 | /// A convenience getter that streams [AuthorizationState]s. It does this by 26 | /// filtering for [updates] that are [UpdateAuthorizationState]s and yields 27 | /// the new authorization state. 28 | Stream get authorizationState => 29 | updates 30 | .where((u) => u is UpdateAuthorizationState) 31 | .map((a) => (a as UpdateAuthorizationState).authorizationState); 32 | 33 | TdlibParameters tdlibParams; 34 | 35 | TelegramClient([String dlDir]): _client = JsonClient.create(dlDir); 36 | 37 | /// Generates a [Stream] of incoming [TdObject]s that the client receives. 38 | /// Objects of the appropriate type are added to their respective 39 | /// [BehaviorSubject]s (for example, [Update]s are added to [_updates]). 40 | Stream incoming() async* { 41 | while (true) { 42 | var obj = await receive(); 43 | 44 | if (obj is Update) { 45 | _updates.add(obj); 46 | } 47 | 48 | yield obj; 49 | } 50 | } 51 | 52 | /// Asynchronously performs any necessary cleanup before [destroy]ing this 53 | /// client. 54 | Future close() async { 55 | await _updates.close(); 56 | await destroy(); 57 | } 58 | 59 | @Deprecated('Use [defineTdlibParams] instead') 60 | void setTdLibParams({ 61 | @required int apiId, 62 | @required String apiHash, 63 | bool useMessageDatabase = true, 64 | String databaseDirectory = 'tdb', 65 | String systemLanguageCode = 'en-US', 66 | @required String deviceModel, 67 | @required String systemVersion, 68 | String applicationVersion = '0.0.1', 69 | bool enableStorageOptimizer = true, 70 | bool useSecretChats = true, 71 | }) { 72 | tdlibParams = TdlibParameters( 73 | apiId: apiId, 74 | apiHash: apiHash, 75 | useMessageDatabase: useMessageDatabase, 76 | databaseDirectory: databaseDirectory, 77 | systemLanguageCode: systemLanguageCode, 78 | deviceModel: deviceModel, 79 | systemVersion: systemVersion, 80 | applicationVersion: applicationVersion, 81 | enableStorageOptimizer: enableStorageOptimizer, 82 | useSecretChats: useSecretChats, 83 | ); 84 | } 85 | 86 | /// Defines this client's [tdlibParams] by taking keyword-arguments (some of 87 | /// which have defaults) that represent the fields of [TdlibParameters]. 88 | void defineTdlibParams({ 89 | @required int apiId, 90 | @required String apiHash, 91 | bool useMessageDatabase = true, 92 | String databaseDirectory = 'tdb', 93 | String systemLanguageCode = 'en-US', // TODO: l10n 94 | @required String deviceModel, 95 | @required String systemVersion, 96 | String applicationVersion = '0.0.1', 97 | bool enableStorageOptimizer = true, 98 | bool useSecretChats = true, 99 | bool useChatInfoDatabase, 100 | bool useFileDatabase, 101 | String filesDirectory, 102 | bool ignoreFileNames, 103 | bool useTestDc, 104 | }) { 105 | tdlibParams = TdlibParameters( 106 | apiId: apiId, 107 | apiHash: apiHash, 108 | useMessageDatabase: useMessageDatabase, 109 | databaseDirectory: databaseDirectory, 110 | systemLanguageCode: systemLanguageCode, 111 | deviceModel: deviceModel, 112 | systemVersion: systemVersion, 113 | applicationVersion: applicationVersion, 114 | enableStorageOptimizer: enableStorageOptimizer, 115 | useSecretChats: useSecretChats, 116 | useChatInfoDatabase: useChatInfoDatabase, 117 | useFileDatabase: useFileDatabase, 118 | useTestDc: useTestDc, 119 | filesDirectory: filesDirectory, 120 | ignoreFileNames: ignoreFileNames, 121 | ); 122 | } 123 | } 124 | 125 | /// Wraps the [JsonClient] and executes its methods asynchronously. A few names 126 | /// are different for convenience of use. 127 | /// 128 | /// This mixin isn't strictly necessary--it could just go right in the 129 | /// [TelegramClient]--but I wanted to separate the logic for fetching and 130 | /// sending data from/to the Telegram API and the procedures that delegate that 131 | /// data, just for code organization purposes. 132 | class AsyncClient { 133 | final JsonClient _client; 134 | 135 | factory AsyncClient._() => null; 136 | 137 | /// Receives a request from TD and parses it as a [TdObject] 138 | Future receive([double timeout = 2.0]) async => 139 | tryConvertToTdObject(_client.receive(timeout)) as TdObject; 140 | 141 | /// Sends an asynchronous request to TD 142 | Future send(TdFunction request) async => 143 | _client.send(request.serialize()); 144 | 145 | /// Executes a synchronous request 146 | Map executeSync(TdFunction request) => 147 | _client.execute(request.serialize()); 148 | 149 | /// Executes a synchronous request asynchronously o_O 150 | Future> execute(TdFunction request) async => 151 | _client.execute(request.serialize()); 152 | 153 | /// Closes the client, destroying the encapsulated [JsonClient] 154 | Future destroy() async => _client.destroy(); 155 | } -------------------------------------------------------------------------------- /codegen/tdlib_generator.dart: -------------------------------------------------------------------------------- 1 | /// dart_tdlib/codegen/tdlib_generator.dart 2 | /// 3 | /// Automatically generates classes for TDLib 4 | 5 | import 'dart:io'; 6 | import 'dart:convert'; 7 | import 'utils.dart'; 8 | 9 | /// Represents a class constructor in the TD API 10 | class ApiClass { 11 | final String name; 12 | final String superclass; 13 | final bool isAbstract; 14 | final List members; 15 | final String extra; 16 | String get type => isAbstract ? name : pascalToCamelCase(name); 17 | 18 | const ApiClass({ 19 | this.name, 20 | this.superclass, 21 | this.isAbstract, 22 | this.members, 23 | this.extra, 24 | }); 25 | 26 | /// Returns Dart code for this class. 27 | /// 28 | /// @reflector 29 | /// class $name extends $superclass { 30 | /// @override 31 | /// String get tdType => "$type"; 32 | /// 33 | /// ${members[0].type} ${members[0].fieldName}; 34 | /// ${members[1].type} ${members[1].fieldName}; 35 | /// ... 36 | /// 37 | /// @override 38 | /// Map get params => { 39 | /// "${members[0].paramName}": "${members[0].fieldName}", 40 | /// "${members[1].paramName}": "${members[1].fieldName}", 41 | /// ..., 42 | /// }; 43 | /// 44 | /// $name(Map json) { 45 | /// ${members[0].fieldName} = tryParse(json["${members[0].paramName}"]); 46 | /// ${members[1].fieldName} = tryParse(json["${members[1].paramName}"]); 47 | /// ... 48 | /// } 49 | /// } 50 | String toDart() { 51 | var buf = StringBuffer(); 52 | if (isAbstract) { 53 | buf.write('abstract class $name extends $superclass {}\n'); 54 | } else if (members.isEmpty) { 55 | buf.writeAll([ 56 | '@reflector', 57 | 'class $name extends $superclass {', 58 | ' @override', 59 | ' String get tdType => \'$type\';', 60 | '', 61 | ' @override', 62 | ' Map get params => {};', 63 | '', 64 | ' $name();', 65 | '', 66 | ' $name.fromJson(Map json);', // Still has params for consistency 67 | '}', 68 | '', 69 | ], '\n'); 70 | } else { 71 | buf.writeAll([ 72 | '@reflector', 73 | 'class $name extends $superclass {', 74 | ' @override', 75 | ' String get tdType => \'$type\';', 76 | '', 77 | ...members.map((field) => ' ${field.type} ${field.fieldName};'), 78 | '', 79 | ' @override', 80 | ' Map get params => {', 81 | ...members.map((param) => ' \'${param.paramName}\': ${param.fieldName},'), 82 | ' };', 83 | '', 84 | ' $name({', 85 | ...members.map((field) => ' this.${field.fieldName},'), 86 | ' });', 87 | '', 88 | ' $name.fromJson(Map json) {', 89 | ...members.map((field) => ' ${field.fieldName} = tryConvertToTdObject(json[\'${field.paramName}\']);'), 90 | ' }', 91 | '}', 92 | '', 93 | ], '\n'); 94 | } 95 | 96 | return buf.toString(); 97 | } 98 | } 99 | 100 | /// Represents a function in the TD API 101 | class ApiFunction { 102 | final String name; 103 | final String returnType; 104 | final List params; 105 | 106 | const ApiFunction( 107 | this.name, 108 | this.returnType, 109 | this.params, 110 | ); 111 | 112 | /// Returns Dart code for this function 113 | /// 114 | /// @reflector 115 | /// class $name extends TdFunction { 116 | /// @override 117 | /// String get returnType => "$returnType"; 118 | /// 119 | /// final ${params[0].type} ${params[0].fieldName}; 120 | /// final ${params[1].type} ${params[1].fieldName}; 121 | /// ... 122 | /// 123 | /// @override 124 | /// Map get params => { 125 | /// "${params[0].paramName}": ${param[0].fieldName, 126 | /// "${params[1].paramName}": ${param[1].fieldName, 127 | /// ... 128 | /// } 129 | /// 130 | /// $name( 131 | /// this.${params[0].fieldName}, 132 | /// this.${params[1].fieldName}, 133 | /// ... 134 | /// ) 135 | /// } 136 | String toDart() { 137 | var buf = StringBuffer(); 138 | if (params.isEmpty) { 139 | buf.writeAll([ 140 | '@reflector', 141 | 'class $name extends TdFunction {', 142 | ' @override', 143 | ' Type get returnType => $returnType;', 144 | '', 145 | ' @override', 146 | ' String get tdType => \'${pascalToCamelCase(name)}\';', 147 | '', 148 | ' @override', 149 | ' Map get params => {};', 150 | '', 151 | ' $name();', 152 | '', 153 | ' $name.fromJson(Map json);', 154 | '}', 155 | '', 156 | ], '\n'); 157 | } else { 158 | buf.writeAll([ 159 | '@reflector', 160 | 'class $name extends TdFunction {', 161 | ' @override', 162 | ' Type get returnType => $returnType;', 163 | '', 164 | ' @override', 165 | ' String get tdType => \'${pascalToCamelCase(name)}\';', 166 | '', 167 | ...params.map((field) => ' ${field.type} ${field.fieldName};'), 168 | '', 169 | ' @override', 170 | ' Map get params => {', 171 | ...params.map((param) => ' \'${param.paramName}\': ${param.fieldName},'), 172 | ' };', 173 | '', 174 | ' $name(', 175 | ...params.map((param) => ' this.${param.fieldName},'), 176 | ' );', 177 | '', 178 | ' $name.fromJson(Map json) {', 179 | ...params.map((param) => ' ${param.fieldName} = tryConvertToTdObject(json[\'${param.paramName}\']);'), 180 | ' }', 181 | '}', 182 | '', 183 | ], '\n'); 184 | } 185 | 186 | return buf.toString(); 187 | } 188 | } 189 | 190 | class ApiParam { 191 | final String type; 192 | final String paramName; 193 | String get fieldName => snakeToCamelCase(paramName); 194 | 195 | const ApiParam(this.type, this.paramName); 196 | } 197 | 198 | main() async { 199 | Map api = await File('./tl_api.json').openRead() 200 | .transform(Utf8Decoder()) 201 | .transform(JsonDecoder()) 202 | .first; 203 | 204 | var classes = []; 205 | var functions = []; 206 | 207 | // TODO: Clean up whatever the hell this is, or at least document it 208 | (api['types'] as Map).forEach((k, v) { 209 | if ((v as Map).length == 1 && (v as Map).containsKey(pascalToCamelCase(k))) { 210 | classes.add(ApiClass( 211 | name: k, 212 | superclass: 'TdObject', 213 | isAbstract: false, 214 | members: (v[pascalToCamelCase(k)]['fields'] as Map).entries.map((e) => ApiParam(e.value, e.key)).toList(), 215 | extra: '', 216 | )); 217 | return; 218 | } else { 219 | classes.add(ApiClass( 220 | name: k, 221 | superclass: 'TdObject', 222 | isAbstract: true, 223 | members: [], 224 | extra: '', 225 | )); 226 | } 227 | 228 | (v as Map).forEach((k, v) { 229 | var name = camelToPascalCase(k); 230 | classes.add(ApiClass( 231 | name: name, 232 | superclass: name == v['superclass'] ? 'TdObject' : v['superclass'], 233 | isAbstract: false, 234 | members: (v['fields'] as Map).entries 235 | .toList() 236 | .map((e) => ApiParam(e.value, e.key)) 237 | .toList(), 238 | extra: '', 239 | )); 240 | }); 241 | }); 242 | 243 | (api['functions'] as Map).forEach((k, v) { 244 | (v as Map).forEach((k, v) { 245 | var name = camelToPascalCase(k); 246 | functions.add(ApiFunction( 247 | name, 248 | v['superclass'], 249 | (v['fields'] as Map).entries 250 | .toList() 251 | .map((e) => ApiParam(e.value, e.key)) 252 | .toList(), 253 | )); 254 | }); 255 | }); 256 | 257 | File('../lib/src/api/objects.dart') 258 | .openWrite() 259 | .writeAll([ 260 | 'import \'base_classes.dart\';', 261 | 'import \'utils.dart\';', 262 | '', 263 | ...classes.map((c) => c.toDart()), 264 | ], '\n'); 265 | 266 | File('../lib/src/api/functions.dart') 267 | .openWrite() 268 | .writeAll([ 269 | 'import \'base_classes.dart\';', 270 | 'import \'objects.dart\';', 271 | 'import \'utils.dart\';', 272 | '', 273 | ...functions.map((f) => f.toDart()), 274 | ], '\n'); 275 | } 276 | -------------------------------------------------------------------------------- /lib/src/api/utils.dart: -------------------------------------------------------------------------------- 1 | import 'objects.dart'; 2 | import 'package:reflectable/reflectable.dart'; 3 | 4 | class Reflector extends Reflectable { 5 | const Reflector() : 6 | super(typeCapability, instanceInvokeCapability, newInstanceCapability); 7 | } 8 | 9 | const reflector = Reflector(); 10 | 11 | /// Attempts to parse an object as a [TdObject], or else returns the object 12 | /// as is 13 | dynamic tryConvertToTdObject(dynamic obj) { 14 | if (obj is Map) { 15 | return obj.containsKey('@type') ? 16 | (reflector.reflectType(classIndex[obj['@type']]) as ClassMirror) 17 | .newInstance('fromJson', [obj]) : 18 | obj; 19 | } 20 | 21 | return obj; 22 | } 23 | 24 | const Map classIndex = { 25 | "error": Error, 26 | "ok": Ok, 27 | "tdlibParameters": TdlibParameters, 28 | "authenticationCodeTypeTelegramMessage": AuthenticationCodeTypeTelegramMessage, 29 | "authenticationCodeTypeSms": AuthenticationCodeTypeSms, 30 | "authenticationCodeTypeCall": AuthenticationCodeTypeCall, 31 | "authenticationCodeTypeFlashCall": AuthenticationCodeTypeFlashCall, 32 | "authenticationCodeInfo": AuthenticationCodeInfo, 33 | "emailAddressAuthenticationCodeInfo": EmailAddressAuthenticationCodeInfo, 34 | "textEntity": TextEntity, 35 | "textEntities": TextEntities, 36 | "formattedText": FormattedText, 37 | "termsOfService": TermsOfService, 38 | "authorizationStateWaitTdlibParameters": AuthorizationStateWaitTdlibParameters, 39 | "authorizationStateWaitEncryptionKey": AuthorizationStateWaitEncryptionKey, 40 | "authorizationStateWaitPhoneNumber": AuthorizationStateWaitPhoneNumber, 41 | "authorizationStateWaitCode": AuthorizationStateWaitCode, 42 | "authorizationStateWaitRegistration": AuthorizationStateWaitRegistration, 43 | "authorizationStateWaitPassword": AuthorizationStateWaitPassword, 44 | "authorizationStateReady": AuthorizationStateReady, 45 | "authorizationStateLoggingOut": AuthorizationStateLoggingOut, 46 | "authorizationStateClosing": AuthorizationStateClosing, 47 | "authorizationStateClosed": AuthorizationStateClosed, 48 | "passwordState": PasswordState, 49 | "recoveryEmailAddress": RecoveryEmailAddress, 50 | "temporaryPasswordState": TemporaryPasswordState, 51 | "localFile": LocalFile, 52 | "remoteFile": RemoteFile, 53 | "file": File, 54 | "inputFileId": InputFileId, 55 | "inputFileRemote": InputFileRemote, 56 | "inputFileLocal": InputFileLocal, 57 | "inputFileGenerated": InputFileGenerated, 58 | "photoSize": PhotoSize, 59 | "minithumbnail": Minithumbnail, 60 | "maskPointForehead": MaskPointForehead, 61 | "maskPointEyes": MaskPointEyes, 62 | "maskPointMouth": MaskPointMouth, 63 | "maskPointChin": MaskPointChin, 64 | "maskPosition": MaskPosition, 65 | "pollOption": PollOption, 66 | "animation": Animation, 67 | "audio": Audio, 68 | "document": Document, 69 | "photo": Photo, 70 | "sticker": Sticker, 71 | "video": Video, 72 | "videoNote": VideoNote, 73 | "voiceNote": VoiceNote, 74 | "contact": Contact, 75 | "location": Location, 76 | "venue": Venue, 77 | "game": Game, 78 | "poll": Poll, 79 | "profilePhoto": ProfilePhoto, 80 | "chatPhoto": ChatPhoto, 81 | "linkStateNone": LinkStateNone, 82 | "linkStateKnowsPhoneNumber": LinkStateKnowsPhoneNumber, 83 | "linkStateIsContact": LinkStateIsContact, 84 | "userTypeRegular": UserTypeRegular, 85 | "userTypeDeleted": UserTypeDeleted, 86 | "userTypeBot": UserTypeBot, 87 | "userTypeUnknown": UserTypeUnknown, 88 | "botCommand": BotCommand, 89 | "botInfo": BotInfo, 90 | "user": User, 91 | "userFullInfo": UserFullInfo, 92 | "userProfilePhoto": UserProfilePhoto, 93 | "userProfilePhotos": UserProfilePhotos, 94 | "users": Users, 95 | "chatPermissions": ChatPermissions, 96 | "chatMemberStatusCreator": ChatMemberStatusCreator, 97 | "chatMemberStatusAdministrator": ChatMemberStatusAdministrator, 98 | "chatMemberStatusMember": ChatMemberStatusMember, 99 | "chatMemberStatusRestricted": ChatMemberStatusRestricted, 100 | "chatMemberStatusLeft": ChatMemberStatusLeft, 101 | "chatMemberStatusBanned": ChatMemberStatusBanned, 102 | "chatMember": ChatMember, 103 | "chatMembers": ChatMembers, 104 | "chatMembersFilterContacts": ChatMembersFilterContacts, 105 | "chatMembersFilterAdministrators": ChatMembersFilterAdministrators, 106 | "chatMembersFilterMembers": ChatMembersFilterMembers, 107 | "chatMembersFilterRestricted": ChatMembersFilterRestricted, 108 | "chatMembersFilterBanned": ChatMembersFilterBanned, 109 | "chatMembersFilterBots": ChatMembersFilterBots, 110 | "supergroupMembersFilterRecent": SupergroupMembersFilterRecent, 111 | "supergroupMembersFilterContacts": SupergroupMembersFilterContacts, 112 | "supergroupMembersFilterAdministrators": SupergroupMembersFilterAdministrators, 113 | "supergroupMembersFilterSearch": SupergroupMembersFilterSearch, 114 | "supergroupMembersFilterRestricted": SupergroupMembersFilterRestricted, 115 | "supergroupMembersFilterBanned": SupergroupMembersFilterBanned, 116 | "supergroupMembersFilterBots": SupergroupMembersFilterBots, 117 | "basicGroup": BasicGroup, 118 | "basicGroupFullInfo": BasicGroupFullInfo, 119 | "supergroup": Supergroup, 120 | "supergroupFullInfo": SupergroupFullInfo, 121 | "secretChatStatePending": SecretChatStatePending, 122 | "secretChatStateReady": SecretChatStateReady, 123 | "secretChatStateClosed": SecretChatStateClosed, 124 | "secretChat": SecretChat, 125 | "messageForwardOriginUser": MessageForwardOriginUser, 126 | "messageForwardOriginHiddenUser": MessageForwardOriginHiddenUser, 127 | "messageForwardOriginChannel": MessageForwardOriginChannel, 128 | "messageForwardInfo": MessageForwardInfo, 129 | "messageSendingStatePending": MessageSendingStatePending, 130 | "messageSendingStateFailed": MessageSendingStateFailed, 131 | "message": Message, 132 | "messages": Messages, 133 | "foundMessages": FoundMessages, 134 | "notificationSettingsScopePrivateChats": NotificationSettingsScopePrivateChats, 135 | "notificationSettingsScopeGroupChats": NotificationSettingsScopeGroupChats, 136 | "notificationSettingsScopeChannelChats": NotificationSettingsScopeChannelChats, 137 | "chatNotificationSettings": ChatNotificationSettings, 138 | "scopeNotificationSettings": ScopeNotificationSettings, 139 | "draftMessage": DraftMessage, 140 | "chatTypePrivate": ChatTypePrivate, 141 | "chatTypeBasicGroup": ChatTypeBasicGroup, 142 | "chatTypeSupergroup": ChatTypeSupergroup, 143 | "chatTypeSecret": ChatTypeSecret, 144 | "chat": Chat, 145 | "chats": Chats, 146 | "chatInviteLink": ChatInviteLink, 147 | "chatInviteLinkInfo": ChatInviteLinkInfo, 148 | "keyboardButtonTypeText": KeyboardButtonTypeText, 149 | "keyboardButtonTypeRequestPhoneNumber": KeyboardButtonTypeRequestPhoneNumber, 150 | "keyboardButtonTypeRequestLocation": KeyboardButtonTypeRequestLocation, 151 | "keyboardButton": KeyboardButton, 152 | "inlineKeyboardButtonTypeUrl": InlineKeyboardButtonTypeUrl, 153 | "inlineKeyboardButtonTypeLoginUrl": InlineKeyboardButtonTypeLoginUrl, 154 | "inlineKeyboardButtonTypeCallback": InlineKeyboardButtonTypeCallback, 155 | "inlineKeyboardButtonTypeCallbackGame": InlineKeyboardButtonTypeCallbackGame, 156 | "inlineKeyboardButtonTypeSwitchInline": InlineKeyboardButtonTypeSwitchInline, 157 | "inlineKeyboardButtonTypeBuy": InlineKeyboardButtonTypeBuy, 158 | "inlineKeyboardButton": InlineKeyboardButton, 159 | "replyMarkupRemoveKeyboard": ReplyMarkupRemoveKeyboard, 160 | "replyMarkupForceReply": ReplyMarkupForceReply, 161 | "replyMarkupShowKeyboard": ReplyMarkupShowKeyboard, 162 | "replyMarkupInlineKeyboard": ReplyMarkupInlineKeyboard, 163 | "richTextPlain": RichTextPlain, 164 | "richTextBold": RichTextBold, 165 | "richTextItalic": RichTextItalic, 166 | "richTextUnderline": RichTextUnderline, 167 | "richTextStrikethrough": RichTextStrikethrough, 168 | "richTextFixed": RichTextFixed, 169 | "richTextUrl": RichTextUrl, 170 | "richTextEmailAddress": RichTextEmailAddress, 171 | "richTextSubscript": RichTextSubscript, 172 | "richTextSuperscript": RichTextSuperscript, 173 | "richTextMarked": RichTextMarked, 174 | "richTextPhoneNumber": RichTextPhoneNumber, 175 | "richTextIcon": RichTextIcon, 176 | "richTextAnchor": RichTextAnchor, 177 | "richTexts": RichTexts, 178 | "pageBlockCaption": PageBlockCaption, 179 | "pageBlockListItem": PageBlockListItem, 180 | "pageBlockHorizontalAlignmentLeft": PageBlockHorizontalAlignmentLeft, 181 | "pageBlockHorizontalAlignmentCenter": PageBlockHorizontalAlignmentCenter, 182 | "pageBlockHorizontalAlignmentRight": PageBlockHorizontalAlignmentRight, 183 | "pageBlockVerticalAlignmentTop": PageBlockVerticalAlignmentTop, 184 | "pageBlockVerticalAlignmentMiddle": PageBlockVerticalAlignmentMiddle, 185 | "pageBlockVerticalAlignmentBottom": PageBlockVerticalAlignmentBottom, 186 | "pageBlockTableCell": PageBlockTableCell, 187 | "pageBlockRelatedArticle": PageBlockRelatedArticle, 188 | "pageBlockTitle": PageBlockTitle, 189 | "pageBlockSubtitle": PageBlockSubtitle, 190 | "pageBlockAuthorDate": PageBlockAuthorDate, 191 | "pageBlockHeader": PageBlockHeader, 192 | "pageBlockSubheader": PageBlockSubheader, 193 | "pageBlockKicker": PageBlockKicker, 194 | "pageBlockParagraph": PageBlockParagraph, 195 | "pageBlockPreformatted": PageBlockPreformatted, 196 | "pageBlockFooter": PageBlockFooter, 197 | "pageBlockDivider": PageBlockDivider, 198 | "pageBlockAnchor": PageBlockAnchor, 199 | "pageBlockList": PageBlockList, 200 | "pageBlockBlockQuote": PageBlockBlockQuote, 201 | "pageBlockPullQuote": PageBlockPullQuote, 202 | "pageBlockAnimation": PageBlockAnimation, 203 | "pageBlockAudio": PageBlockAudio, 204 | "pageBlockPhoto": PageBlockPhoto, 205 | "pageBlockVideo": PageBlockVideo, 206 | "pageBlockVoiceNote": PageBlockVoiceNote, 207 | "pageBlockCover": PageBlockCover, 208 | "pageBlockEmbedded": PageBlockEmbedded, 209 | "pageBlockEmbeddedPost": PageBlockEmbeddedPost, 210 | "pageBlockCollage": PageBlockCollage, 211 | "pageBlockSlideshow": PageBlockSlideshow, 212 | "pageBlockChatLink": PageBlockChatLink, 213 | "pageBlockTable": PageBlockTable, 214 | "pageBlockDetails": PageBlockDetails, 215 | "pageBlockRelatedArticles": PageBlockRelatedArticles, 216 | "pageBlockMap": PageBlockMap, 217 | "webPageInstantView": WebPageInstantView, 218 | "webPage": WebPage, 219 | "address": Address, 220 | "labeledPricePart": LabeledPricePart, 221 | "invoice": Invoice, 222 | "orderInfo": OrderInfo, 223 | "shippingOption": ShippingOption, 224 | "savedCredentials": SavedCredentials, 225 | "inputCredentialsSaved": InputCredentialsSaved, 226 | "inputCredentialsNew": InputCredentialsNew, 227 | "inputCredentialsAndroidPay": InputCredentialsAndroidPay, 228 | "inputCredentialsApplePay": InputCredentialsApplePay, 229 | "paymentsProviderStripe": PaymentsProviderStripe, 230 | "paymentForm": PaymentForm, 231 | "validatedOrderInfo": ValidatedOrderInfo, 232 | "paymentResult": PaymentResult, 233 | "paymentReceipt": PaymentReceipt, 234 | "datedFile": DatedFile, 235 | "passportElementTypePersonalDetails": PassportElementTypePersonalDetails, 236 | "passportElementTypePassport": PassportElementTypePassport, 237 | "passportElementTypeDriverLicense": PassportElementTypeDriverLicense, 238 | "passportElementTypeIdentityCard": PassportElementTypeIdentityCard, 239 | "passportElementTypeInternalPassport": PassportElementTypeInternalPassport, 240 | "passportElementTypeAddress": PassportElementTypeAddress, 241 | "passportElementTypeUtilityBill": PassportElementTypeUtilityBill, 242 | "passportElementTypeBankStatement": PassportElementTypeBankStatement, 243 | "passportElementTypeRentalAgreement": PassportElementTypeRentalAgreement, 244 | "passportElementTypePassportRegistration": PassportElementTypePassportRegistration, 245 | "passportElementTypeTemporaryRegistration": PassportElementTypeTemporaryRegistration, 246 | "passportElementTypePhoneNumber": PassportElementTypePhoneNumber, 247 | "passportElementTypeEmailAddress": PassportElementTypeEmailAddress, 248 | "date": Date, 249 | "personalDetails": PersonalDetails, 250 | "identityDocument": IdentityDocument, 251 | "inputIdentityDocument": InputIdentityDocument, 252 | "personalDocument": PersonalDocument, 253 | "inputPersonalDocument": InputPersonalDocument, 254 | "passportElementPersonalDetails": PassportElementPersonalDetails, 255 | "passportElementPassport": PassportElementPassport, 256 | "passportElementDriverLicense": PassportElementDriverLicense, 257 | "passportElementIdentityCard": PassportElementIdentityCard, 258 | "passportElementInternalPassport": PassportElementInternalPassport, 259 | "passportElementAddress": PassportElementAddress, 260 | "passportElementUtilityBill": PassportElementUtilityBill, 261 | "passportElementBankStatement": PassportElementBankStatement, 262 | "passportElementRentalAgreement": PassportElementRentalAgreement, 263 | "passportElementPassportRegistration": PassportElementPassportRegistration, 264 | "passportElementTemporaryRegistration": PassportElementTemporaryRegistration, 265 | "passportElementPhoneNumber": PassportElementPhoneNumber, 266 | "passportElementEmailAddress": PassportElementEmailAddress, 267 | "inputPassportElementPersonalDetails": InputPassportElementPersonalDetails, 268 | "inputPassportElementPassport": InputPassportElementPassport, 269 | "inputPassportElementDriverLicense": InputPassportElementDriverLicense, 270 | "inputPassportElementIdentityCard": InputPassportElementIdentityCard, 271 | "inputPassportElementInternalPassport": InputPassportElementInternalPassport, 272 | "inputPassportElementAddress": InputPassportElementAddress, 273 | "inputPassportElementUtilityBill": InputPassportElementUtilityBill, 274 | "inputPassportElementBankStatement": InputPassportElementBankStatement, 275 | "inputPassportElementRentalAgreement": InputPassportElementRentalAgreement, 276 | "inputPassportElementPassportRegistration": InputPassportElementPassportRegistration, 277 | "inputPassportElementTemporaryRegistration": InputPassportElementTemporaryRegistration, 278 | "inputPassportElementPhoneNumber": InputPassportElementPhoneNumber, 279 | "inputPassportElementEmailAddress": InputPassportElementEmailAddress, 280 | "passportElements": PassportElements, 281 | "passportElementErrorSourceUnspecified": PassportElementErrorSourceUnspecified, 282 | "passportElementErrorSourceDataField": PassportElementErrorSourceDataField, 283 | "passportElementErrorSourceFrontSide": PassportElementErrorSourceFrontSide, 284 | "passportElementErrorSourceReverseSide": PassportElementErrorSourceReverseSide, 285 | "passportElementErrorSourceSelfie": PassportElementErrorSourceSelfie, 286 | "passportElementErrorSourceTranslationFile": PassportElementErrorSourceTranslationFile, 287 | "passportElementErrorSourceTranslationFiles": PassportElementErrorSourceTranslationFiles, 288 | "passportElementErrorSourceFile": PassportElementErrorSourceFile, 289 | "passportElementErrorSourceFiles": PassportElementErrorSourceFiles, 290 | "passportElementError": PassportElementError, 291 | "passportSuitableElement": PassportSuitableElement, 292 | "passportRequiredElement": PassportRequiredElement, 293 | "passportAuthorizationForm": PassportAuthorizationForm, 294 | "passportElementsWithErrors": PassportElementsWithErrors, 295 | "encryptedCredentials": EncryptedCredentials, 296 | "encryptedPassportElement": EncryptedPassportElement, 297 | "inputPassportElementErrorSourceUnspecified": InputPassportElementErrorSourceUnspecified, 298 | "inputPassportElementErrorSourceDataField": InputPassportElementErrorSourceDataField, 299 | "inputPassportElementErrorSourceFrontSide": InputPassportElementErrorSourceFrontSide, 300 | "inputPassportElementErrorSourceReverseSide": InputPassportElementErrorSourceReverseSide, 301 | "inputPassportElementErrorSourceSelfie": InputPassportElementErrorSourceSelfie, 302 | "inputPassportElementErrorSourceTranslationFile": InputPassportElementErrorSourceTranslationFile, 303 | "inputPassportElementErrorSourceTranslationFiles": InputPassportElementErrorSourceTranslationFiles, 304 | "inputPassportElementErrorSourceFile": InputPassportElementErrorSourceFile, 305 | "inputPassportElementErrorSourceFiles": InputPassportElementErrorSourceFiles, 306 | "inputPassportElementError": InputPassportElementError, 307 | "messageText": MessageText, 308 | "messageAnimation": MessageAnimation, 309 | "messageAudio": MessageAudio, 310 | "messageDocument": MessageDocument, 311 | "messagePhoto": MessagePhoto, 312 | "messageExpiredPhoto": MessageExpiredPhoto, 313 | "messageSticker": MessageSticker, 314 | "messageVideo": MessageVideo, 315 | "messageExpiredVideo": MessageExpiredVideo, 316 | "messageVideoNote": MessageVideoNote, 317 | "messageVoiceNote": MessageVoiceNote, 318 | "messageLocation": MessageLocation, 319 | "messageVenue": MessageVenue, 320 | "messageContact": MessageContact, 321 | "messageGame": MessageGame, 322 | "messagePoll": MessagePoll, 323 | "messageInvoice": MessageInvoice, 324 | "messageCall": MessageCall, 325 | "messageBasicGroupChatCreate": MessageBasicGroupChatCreate, 326 | "messageSupergroupChatCreate": MessageSupergroupChatCreate, 327 | "messageChatChangeTitle": MessageChatChangeTitle, 328 | "messageChatChangePhoto": MessageChatChangePhoto, 329 | "messageChatDeletePhoto": MessageChatDeletePhoto, 330 | "messageChatAddMembers": MessageChatAddMembers, 331 | "messageChatJoinByLink": MessageChatJoinByLink, 332 | "messageChatDeleteMember": MessageChatDeleteMember, 333 | "messageChatUpgradeTo": MessageChatUpgradeTo, 334 | "messageChatUpgradeFrom": MessageChatUpgradeFrom, 335 | "messagePinMessage": MessagePinMessage, 336 | "messageScreenshotTaken": MessageScreenshotTaken, 337 | "messageChatSetTtl": MessageChatSetTtl, 338 | "messageCustomServiceAction": MessageCustomServiceAction, 339 | "messageGameScore": MessageGameScore, 340 | "messagePaymentSuccessful": MessagePaymentSuccessful, 341 | "messagePaymentSuccessfulBot": MessagePaymentSuccessfulBot, 342 | "messageContactRegistered": MessageContactRegistered, 343 | "messageWebsiteConnected": MessageWebsiteConnected, 344 | "messagePassportDataSent": MessagePassportDataSent, 345 | "messagePassportDataReceived": MessagePassportDataReceived, 346 | "messageUnsupported": MessageUnsupported, 347 | "textEntityTypeMention": TextEntityTypeMention, 348 | "textEntityTypeHashtag": TextEntityTypeHashtag, 349 | "textEntityTypeCashtag": TextEntityTypeCashtag, 350 | "textEntityTypeBotCommand": TextEntityTypeBotCommand, 351 | "textEntityTypeUrl": TextEntityTypeUrl, 352 | "textEntityTypeEmailAddress": TextEntityTypeEmailAddress, 353 | "textEntityTypeBold": TextEntityTypeBold, 354 | "textEntityTypeItalic": TextEntityTypeItalic, 355 | "textEntityTypeCode": TextEntityTypeCode, 356 | "textEntityTypePre": TextEntityTypePre, 357 | "textEntityTypePreCode": TextEntityTypePreCode, 358 | "textEntityTypeTextUrl": TextEntityTypeTextUrl, 359 | "textEntityTypeMentionName": TextEntityTypeMentionName, 360 | "textEntityTypePhoneNumber": TextEntityTypePhoneNumber, 361 | "inputThumbnail": InputThumbnail, 362 | "inputMessageText": InputMessageText, 363 | "inputMessageAnimation": InputMessageAnimation, 364 | "inputMessageAudio": InputMessageAudio, 365 | "inputMessageDocument": InputMessageDocument, 366 | "inputMessagePhoto": InputMessagePhoto, 367 | "inputMessageSticker": InputMessageSticker, 368 | "inputMessageVideo": InputMessageVideo, 369 | "inputMessageVideoNote": InputMessageVideoNote, 370 | "inputMessageVoiceNote": InputMessageVoiceNote, 371 | "inputMessageLocation": InputMessageLocation, 372 | "inputMessageVenue": InputMessageVenue, 373 | "inputMessageContact": InputMessageContact, 374 | "inputMessageGame": InputMessageGame, 375 | "inputMessageInvoice": InputMessageInvoice, 376 | "inputMessagePoll": InputMessagePoll, 377 | "inputMessageForwarded": InputMessageForwarded, 378 | "searchMessagesFilterEmpty": SearchMessagesFilterEmpty, 379 | "searchMessagesFilterAnimation": SearchMessagesFilterAnimation, 380 | "searchMessagesFilterAudio": SearchMessagesFilterAudio, 381 | "searchMessagesFilterDocument": SearchMessagesFilterDocument, 382 | "searchMessagesFilterPhoto": SearchMessagesFilterPhoto, 383 | "searchMessagesFilterVideo": SearchMessagesFilterVideo, 384 | "searchMessagesFilterVoiceNote": SearchMessagesFilterVoiceNote, 385 | "searchMessagesFilterPhotoAndVideo": SearchMessagesFilterPhotoAndVideo, 386 | "searchMessagesFilterUrl": SearchMessagesFilterUrl, 387 | "searchMessagesFilterChatPhoto": SearchMessagesFilterChatPhoto, 388 | "searchMessagesFilterCall": SearchMessagesFilterCall, 389 | "searchMessagesFilterMissedCall": SearchMessagesFilterMissedCall, 390 | "searchMessagesFilterVideoNote": SearchMessagesFilterVideoNote, 391 | "searchMessagesFilterVoiceAndVideoNote": SearchMessagesFilterVoiceAndVideoNote, 392 | "searchMessagesFilterMention": SearchMessagesFilterMention, 393 | "searchMessagesFilterUnreadMention": SearchMessagesFilterUnreadMention, 394 | "chatActionTyping": ChatActionTyping, 395 | "chatActionRecordingVideo": ChatActionRecordingVideo, 396 | "chatActionUploadingVideo": ChatActionUploadingVideo, 397 | "chatActionRecordingVoiceNote": ChatActionRecordingVoiceNote, 398 | "chatActionUploadingVoiceNote": ChatActionUploadingVoiceNote, 399 | "chatActionUploadingPhoto": ChatActionUploadingPhoto, 400 | "chatActionUploadingDocument": ChatActionUploadingDocument, 401 | "chatActionChoosingLocation": ChatActionChoosingLocation, 402 | "chatActionChoosingContact": ChatActionChoosingContact, 403 | "chatActionStartPlayingGame": ChatActionStartPlayingGame, 404 | "chatActionRecordingVideoNote": ChatActionRecordingVideoNote, 405 | "chatActionUploadingVideoNote": ChatActionUploadingVideoNote, 406 | "chatActionCancel": ChatActionCancel, 407 | "userStatusEmpty": UserStatusEmpty, 408 | "userStatusOnline": UserStatusOnline, 409 | "userStatusOffline": UserStatusOffline, 410 | "userStatusRecently": UserStatusRecently, 411 | "userStatusLastWeek": UserStatusLastWeek, 412 | "userStatusLastMonth": UserStatusLastMonth, 413 | "stickers": Stickers, 414 | "emojis": Emojis, 415 | "stickerSet": StickerSet, 416 | "stickerSetInfo": StickerSetInfo, 417 | "stickerSets": StickerSets, 418 | "callDiscardReasonEmpty": CallDiscardReasonEmpty, 419 | "callDiscardReasonMissed": CallDiscardReasonMissed, 420 | "callDiscardReasonDeclined": CallDiscardReasonDeclined, 421 | "callDiscardReasonDisconnected": CallDiscardReasonDisconnected, 422 | "callDiscardReasonHungUp": CallDiscardReasonHungUp, 423 | "callProtocol": CallProtocol, 424 | "callConnection": CallConnection, 425 | "callId": CallId, 426 | "callStatePending": CallStatePending, 427 | "callStateExchangingKeys": CallStateExchangingKeys, 428 | "callStateReady": CallStateReady, 429 | "callStateHangingUp": CallStateHangingUp, 430 | "callStateDiscarded": CallStateDiscarded, 431 | "callStateError": CallStateError, 432 | "callProblemEcho": CallProblemEcho, 433 | "callProblemNoise": CallProblemNoise, 434 | "callProblemInterruptions": CallProblemInterruptions, 435 | "callProblemDistortedSpeech": CallProblemDistortedSpeech, 436 | "callProblemSilentLocal": CallProblemSilentLocal, 437 | "callProblemSilentRemote": CallProblemSilentRemote, 438 | "callProblemDropped": CallProblemDropped, 439 | "call": Call, 440 | "phoneNumberAuthenticationSettings": PhoneNumberAuthenticationSettings, 441 | "animations": Animations, 442 | "importedContacts": ImportedContacts, 443 | "httpUrl": HttpUrl, 444 | "inputInlineQueryResultAnimatedGif": InputInlineQueryResultAnimatedGif, 445 | "inputInlineQueryResultAnimatedMpeg4": InputInlineQueryResultAnimatedMpeg4, 446 | "inputInlineQueryResultArticle": InputInlineQueryResultArticle, 447 | "inputInlineQueryResultAudio": InputInlineQueryResultAudio, 448 | "inputInlineQueryResultContact": InputInlineQueryResultContact, 449 | "inputInlineQueryResultDocument": InputInlineQueryResultDocument, 450 | "inputInlineQueryResultGame": InputInlineQueryResultGame, 451 | "inputInlineQueryResultLocation": InputInlineQueryResultLocation, 452 | "inputInlineQueryResultPhoto": InputInlineQueryResultPhoto, 453 | "inputInlineQueryResultSticker": InputInlineQueryResultSticker, 454 | "inputInlineQueryResultVenue": InputInlineQueryResultVenue, 455 | "inputInlineQueryResultVideo": InputInlineQueryResultVideo, 456 | "inputInlineQueryResultVoiceNote": InputInlineQueryResultVoiceNote, 457 | "inlineQueryResultArticle": InlineQueryResultArticle, 458 | "inlineQueryResultContact": InlineQueryResultContact, 459 | "inlineQueryResultLocation": InlineQueryResultLocation, 460 | "inlineQueryResultVenue": InlineQueryResultVenue, 461 | "inlineQueryResultGame": InlineQueryResultGame, 462 | "inlineQueryResultAnimation": InlineQueryResultAnimation, 463 | "inlineQueryResultAudio": InlineQueryResultAudio, 464 | "inlineQueryResultDocument": InlineQueryResultDocument, 465 | "inlineQueryResultPhoto": InlineQueryResultPhoto, 466 | "inlineQueryResultSticker": InlineQueryResultSticker, 467 | "inlineQueryResultVideo": InlineQueryResultVideo, 468 | "inlineQueryResultVoiceNote": InlineQueryResultVoiceNote, 469 | "inlineQueryResults": InlineQueryResults, 470 | "callbackQueryPayloadData": CallbackQueryPayloadData, 471 | "callbackQueryPayloadGame": CallbackQueryPayloadGame, 472 | "callbackQueryAnswer": CallbackQueryAnswer, 473 | "customRequestResult": CustomRequestResult, 474 | "gameHighScore": GameHighScore, 475 | "gameHighScores": GameHighScores, 476 | "tonLiteServerResponse": TonLiteServerResponse, 477 | "tonWalletPasswordSalt": TonWalletPasswordSalt, 478 | "chatEventMessageEdited": ChatEventMessageEdited, 479 | "chatEventMessageDeleted": ChatEventMessageDeleted, 480 | "chatEventPollStopped": ChatEventPollStopped, 481 | "chatEventMessagePinned": ChatEventMessagePinned, 482 | "chatEventMessageUnpinned": ChatEventMessageUnpinned, 483 | "chatEventMemberJoined": ChatEventMemberJoined, 484 | "chatEventMemberLeft": ChatEventMemberLeft, 485 | "chatEventMemberInvited": ChatEventMemberInvited, 486 | "chatEventMemberPromoted": ChatEventMemberPromoted, 487 | "chatEventMemberRestricted": ChatEventMemberRestricted, 488 | "chatEventTitleChanged": ChatEventTitleChanged, 489 | "chatEventPermissionsChanged": ChatEventPermissionsChanged, 490 | "chatEventDescriptionChanged": ChatEventDescriptionChanged, 491 | "chatEventUsernameChanged": ChatEventUsernameChanged, 492 | "chatEventPhotoChanged": ChatEventPhotoChanged, 493 | "chatEventInvitesToggled": ChatEventInvitesToggled, 494 | "chatEventSignMessagesToggled": ChatEventSignMessagesToggled, 495 | "chatEventStickerSetChanged": ChatEventStickerSetChanged, 496 | "chatEventIsAllHistoryAvailableToggled": ChatEventIsAllHistoryAvailableToggled, 497 | "chatEvent": ChatEvent, 498 | "chatEvents": ChatEvents, 499 | "chatEventLogFilters": ChatEventLogFilters, 500 | "languagePackStringValueOrdinary": LanguagePackStringValueOrdinary, 501 | "languagePackStringValuePluralized": LanguagePackStringValuePluralized, 502 | "languagePackStringValueDeleted": LanguagePackStringValueDeleted, 503 | "languagePackString": LanguagePackString, 504 | "languagePackStrings": LanguagePackStrings, 505 | "languagePackInfo": LanguagePackInfo, 506 | "localizationTargetInfo": LocalizationTargetInfo, 507 | "deviceTokenFirebaseCloudMessaging": DeviceTokenFirebaseCloudMessaging, 508 | "deviceTokenApplePush": DeviceTokenApplePush, 509 | "deviceTokenApplePushVoIP": DeviceTokenApplePushVoIP, 510 | "deviceTokenWindowsPush": DeviceTokenWindowsPush, 511 | "deviceTokenMicrosoftPush": DeviceTokenMicrosoftPush, 512 | "deviceTokenMicrosoftPushVoIP": DeviceTokenMicrosoftPushVoIP, 513 | "deviceTokenWebPush": DeviceTokenWebPush, 514 | "deviceTokenSimplePush": DeviceTokenSimplePush, 515 | "deviceTokenUbuntuPush": DeviceTokenUbuntuPush, 516 | "deviceTokenBlackBerryPush": DeviceTokenBlackBerryPush, 517 | "deviceTokenTizenPush": DeviceTokenTizenPush, 518 | "pushReceiverId": PushReceiverId, 519 | "backgroundTypeWallpaper": BackgroundTypeWallpaper, 520 | "backgroundTypePattern": BackgroundTypePattern, 521 | "backgroundTypeSolid": BackgroundTypeSolid, 522 | "background": Background, 523 | "backgrounds": Backgrounds, 524 | "inputBackgroundLocal": InputBackgroundLocal, 525 | "inputBackgroundRemote": InputBackgroundRemote, 526 | "hashtags": Hashtags, 527 | "checkChatUsernameResultOk": CheckChatUsernameResultOk, 528 | "checkChatUsernameResultUsernameInvalid": CheckChatUsernameResultUsernameInvalid, 529 | "checkChatUsernameResultUsernameOccupied": CheckChatUsernameResultUsernameOccupied, 530 | "checkChatUsernameResultPublicChatsTooMuch": CheckChatUsernameResultPublicChatsTooMuch, 531 | "checkChatUsernameResultPublicGroupsUnavailable": CheckChatUsernameResultPublicGroupsUnavailable, 532 | "pushMessageContentHidden": PushMessageContentHidden, 533 | "pushMessageContentAnimation": PushMessageContentAnimation, 534 | "pushMessageContentAudio": PushMessageContentAudio, 535 | "pushMessageContentContact": PushMessageContentContact, 536 | "pushMessageContentContactRegistered": PushMessageContentContactRegistered, 537 | "pushMessageContentDocument": PushMessageContentDocument, 538 | "pushMessageContentGame": PushMessageContentGame, 539 | "pushMessageContentGameScore": PushMessageContentGameScore, 540 | "pushMessageContentInvoice": PushMessageContentInvoice, 541 | "pushMessageContentLocation": PushMessageContentLocation, 542 | "pushMessageContentPhoto": PushMessageContentPhoto, 543 | "pushMessageContentPoll": PushMessageContentPoll, 544 | "pushMessageContentScreenshotTaken": PushMessageContentScreenshotTaken, 545 | "pushMessageContentSticker": PushMessageContentSticker, 546 | "pushMessageContentText": PushMessageContentText, 547 | "pushMessageContentVideo": PushMessageContentVideo, 548 | "pushMessageContentVideoNote": PushMessageContentVideoNote, 549 | "pushMessageContentVoiceNote": PushMessageContentVoiceNote, 550 | "pushMessageContentBasicGroupChatCreate": PushMessageContentBasicGroupChatCreate, 551 | "pushMessageContentChatAddMembers": PushMessageContentChatAddMembers, 552 | "pushMessageContentChatChangePhoto": PushMessageContentChatChangePhoto, 553 | "pushMessageContentChatChangeTitle": PushMessageContentChatChangeTitle, 554 | "pushMessageContentChatDeleteMember": PushMessageContentChatDeleteMember, 555 | "pushMessageContentChatJoinByLink": PushMessageContentChatJoinByLink, 556 | "pushMessageContentMessageForwards": PushMessageContentMessageForwards, 557 | "pushMessageContentMediaAlbum": PushMessageContentMediaAlbum, 558 | "notificationTypeNewMessage": NotificationTypeNewMessage, 559 | "notificationTypeNewSecretChat": NotificationTypeNewSecretChat, 560 | "notificationTypeNewCall": NotificationTypeNewCall, 561 | "notificationTypeNewPushMessage": NotificationTypeNewPushMessage, 562 | "notificationGroupTypeMessages": NotificationGroupTypeMessages, 563 | "notificationGroupTypeMentions": NotificationGroupTypeMentions, 564 | "notificationGroupTypeSecretChat": NotificationGroupTypeSecretChat, 565 | "notificationGroupTypeCalls": NotificationGroupTypeCalls, 566 | "notification": Notification, 567 | "notificationGroup": NotificationGroup, 568 | "optionValueBoolean": OptionValueBoolean, 569 | "optionValueEmpty": OptionValueEmpty, 570 | "optionValueInteger": OptionValueInteger, 571 | "optionValueString": OptionValueString, 572 | "jsonObjectMember": JsonObjectMember, 573 | "jsonValueNull": JsonValueNull, 574 | "jsonValueBoolean": JsonValueBoolean, 575 | "jsonValueNumber": JsonValueNumber, 576 | "jsonValueString": JsonValueString, 577 | "jsonValueArray": JsonValueArray, 578 | "jsonValueObject": JsonValueObject, 579 | "userPrivacySettingRuleAllowAll": UserPrivacySettingRuleAllowAll, 580 | "userPrivacySettingRuleAllowContacts": UserPrivacySettingRuleAllowContacts, 581 | "userPrivacySettingRuleAllowUsers": UserPrivacySettingRuleAllowUsers, 582 | "userPrivacySettingRuleRestrictAll": UserPrivacySettingRuleRestrictAll, 583 | "userPrivacySettingRuleRestrictContacts": UserPrivacySettingRuleRestrictContacts, 584 | "userPrivacySettingRuleRestrictUsers": UserPrivacySettingRuleRestrictUsers, 585 | "userPrivacySettingRules": UserPrivacySettingRules, 586 | "userPrivacySettingShowStatus": UserPrivacySettingShowStatus, 587 | "userPrivacySettingShowProfilePhoto": UserPrivacySettingShowProfilePhoto, 588 | "userPrivacySettingShowLinkInForwardedMessages": UserPrivacySettingShowLinkInForwardedMessages, 589 | "userPrivacySettingAllowChatInvites": UserPrivacySettingAllowChatInvites, 590 | "userPrivacySettingAllowCalls": UserPrivacySettingAllowCalls, 591 | "userPrivacySettingAllowPeerToPeerCalls": UserPrivacySettingAllowPeerToPeerCalls, 592 | "accountTtl": AccountTtl, 593 | "session": Session, 594 | "sessions": Sessions, 595 | "connectedWebsite": ConnectedWebsite, 596 | "connectedWebsites": ConnectedWebsites, 597 | "chatReportSpamState": ChatReportSpamState, 598 | "chatReportReasonSpam": ChatReportReasonSpam, 599 | "chatReportReasonViolence": ChatReportReasonViolence, 600 | "chatReportReasonPornography": ChatReportReasonPornography, 601 | "chatReportReasonChildAbuse": ChatReportReasonChildAbuse, 602 | "chatReportReasonCopyright": ChatReportReasonCopyright, 603 | "chatReportReasonCustom": ChatReportReasonCustom, 604 | "publicMessageLink": PublicMessageLink, 605 | "messageLinkInfo": MessageLinkInfo, 606 | "filePart": FilePart, 607 | "fileTypeNone": FileTypeNone, 608 | "fileTypeAnimation": FileTypeAnimation, 609 | "fileTypeAudio": FileTypeAudio, 610 | "fileTypeDocument": FileTypeDocument, 611 | "fileTypePhoto": FileTypePhoto, 612 | "fileTypeProfilePhoto": FileTypeProfilePhoto, 613 | "fileTypeSecret": FileTypeSecret, 614 | "fileTypeSecretThumbnail": FileTypeSecretThumbnail, 615 | "fileTypeSecure": FileTypeSecure, 616 | "fileTypeSticker": FileTypeSticker, 617 | "fileTypeThumbnail": FileTypeThumbnail, 618 | "fileTypeUnknown": FileTypeUnknown, 619 | "fileTypeVideo": FileTypeVideo, 620 | "fileTypeVideoNote": FileTypeVideoNote, 621 | "fileTypeVoiceNote": FileTypeVoiceNote, 622 | "fileTypeWallpaper": FileTypeWallpaper, 623 | "storageStatisticsByFileType": StorageStatisticsByFileType, 624 | "storageStatisticsByChat": StorageStatisticsByChat, 625 | "storageStatistics": StorageStatistics, 626 | "storageStatisticsFast": StorageStatisticsFast, 627 | "databaseStatistics": DatabaseStatistics, 628 | "networkTypeNone": NetworkTypeNone, 629 | "networkTypeMobile": NetworkTypeMobile, 630 | "networkTypeMobileRoaming": NetworkTypeMobileRoaming, 631 | "networkTypeWiFi": NetworkTypeWiFi, 632 | "networkTypeOther": NetworkTypeOther, 633 | "networkStatisticsEntryFile": NetworkStatisticsEntryFile, 634 | "networkStatisticsEntryCall": NetworkStatisticsEntryCall, 635 | "networkStatistics": NetworkStatistics, 636 | "autoDownloadSettings": AutoDownloadSettings, 637 | "autoDownloadSettingsPresets": AutoDownloadSettingsPresets, 638 | "connectionStateWaitingForNetwork": ConnectionStateWaitingForNetwork, 639 | "connectionStateConnectingToProxy": ConnectionStateConnectingToProxy, 640 | "connectionStateConnecting": ConnectionStateConnecting, 641 | "connectionStateUpdating": ConnectionStateUpdating, 642 | "connectionStateReady": ConnectionStateReady, 643 | "topChatCategoryUsers": TopChatCategoryUsers, 644 | "topChatCategoryBots": TopChatCategoryBots, 645 | "topChatCategoryGroups": TopChatCategoryGroups, 646 | "topChatCategoryChannels": TopChatCategoryChannels, 647 | "topChatCategoryInlineBots": TopChatCategoryInlineBots, 648 | "topChatCategoryCalls": TopChatCategoryCalls, 649 | "tMeUrlTypeUser": TMeUrlTypeUser, 650 | "tMeUrlTypeSupergroup": TMeUrlTypeSupergroup, 651 | "tMeUrlTypeChatInvite": TMeUrlTypeChatInvite, 652 | "tMeUrlTypeStickerSet": TMeUrlTypeStickerSet, 653 | "tMeUrl": TMeUrl, 654 | "tMeUrls": TMeUrls, 655 | "count": Count, 656 | "text": Text, 657 | "seconds": Seconds, 658 | "deepLinkInfo": DeepLinkInfo, 659 | "textParseModeMarkdown": TextParseModeMarkdown, 660 | "textParseModeHTML": TextParseModeHTML, 661 | "proxyTypeSocks5": ProxyTypeSocks5, 662 | "proxyTypeHttp": ProxyTypeHttp, 663 | "proxyTypeMtproto": ProxyTypeMtproto, 664 | "proxy": Proxy, 665 | "proxies": Proxies, 666 | "inputSticker": InputSticker, 667 | "updateAuthorizationState": UpdateAuthorizationState, 668 | "updateNewMessage": UpdateNewMessage, 669 | "updateMessageSendAcknowledged": UpdateMessageSendAcknowledged, 670 | "updateMessageSendSucceeded": UpdateMessageSendSucceeded, 671 | "updateMessageSendFailed": UpdateMessageSendFailed, 672 | "updateMessageContent": UpdateMessageContent, 673 | "updateMessageEdited": UpdateMessageEdited, 674 | "updateMessageViews": UpdateMessageViews, 675 | "updateMessageContentOpened": UpdateMessageContentOpened, 676 | "updateMessageMentionRead": UpdateMessageMentionRead, 677 | "updateNewChat": UpdateNewChat, 678 | "updateChatTitle": UpdateChatTitle, 679 | "updateChatPhoto": UpdateChatPhoto, 680 | "updateChatPermissions": UpdateChatPermissions, 681 | "updateChatLastMessage": UpdateChatLastMessage, 682 | "updateChatOrder": UpdateChatOrder, 683 | "updateChatIsPinned": UpdateChatIsPinned, 684 | "updateChatIsMarkedAsUnread": UpdateChatIsMarkedAsUnread, 685 | "updateChatIsSponsored": UpdateChatIsSponsored, 686 | "updateChatDefaultDisableNotification": UpdateChatDefaultDisableNotification, 687 | "updateChatReadInbox": UpdateChatReadInbox, 688 | "updateChatReadOutbox": UpdateChatReadOutbox, 689 | "updateChatUnreadMentionCount": UpdateChatUnreadMentionCount, 690 | "updateChatNotificationSettings": UpdateChatNotificationSettings, 691 | "updateScopeNotificationSettings": UpdateScopeNotificationSettings, 692 | "updateChatPinnedMessage": UpdateChatPinnedMessage, 693 | "updateChatReplyMarkup": UpdateChatReplyMarkup, 694 | "updateChatDraftMessage": UpdateChatDraftMessage, 695 | "updateChatOnlineMemberCount": UpdateChatOnlineMemberCount, 696 | "updateNotification": UpdateNotification, 697 | "updateNotificationGroup": UpdateNotificationGroup, 698 | "updateActiveNotifications": UpdateActiveNotifications, 699 | "updateHavePendingNotifications": UpdateHavePendingNotifications, 700 | "updateDeleteMessages": UpdateDeleteMessages, 701 | "updateUserChatAction": UpdateUserChatAction, 702 | "updateUserStatus": UpdateUserStatus, 703 | "updateUser": UpdateUser, 704 | "updateBasicGroup": UpdateBasicGroup, 705 | "updateSupergroup": UpdateSupergroup, 706 | "updateSecretChat": UpdateSecretChat, 707 | "updateUserFullInfo": UpdateUserFullInfo, 708 | "updateBasicGroupFullInfo": UpdateBasicGroupFullInfo, 709 | "updateSupergroupFullInfo": UpdateSupergroupFullInfo, 710 | "updateServiceNotification": UpdateServiceNotification, 711 | "updateFile": UpdateFile, 712 | "updateFileGenerationStart": UpdateFileGenerationStart, 713 | "updateFileGenerationStop": UpdateFileGenerationStop, 714 | "updateCall": UpdateCall, 715 | "updateUserPrivacySettingRules": UpdateUserPrivacySettingRules, 716 | "updateUnreadMessageCount": UpdateUnreadMessageCount, 717 | "updateUnreadChatCount": UpdateUnreadChatCount, 718 | "updateOption": UpdateOption, 719 | "updateInstalledStickerSets": UpdateInstalledStickerSets, 720 | "updateTrendingStickerSets": UpdateTrendingStickerSets, 721 | "updateRecentStickers": UpdateRecentStickers, 722 | "updateFavoriteStickers": UpdateFavoriteStickers, 723 | "updateSavedAnimations": UpdateSavedAnimations, 724 | "updateSelectedBackground": UpdateSelectedBackground, 725 | "updateLanguagePackStrings": UpdateLanguagePackStrings, 726 | "updateConnectionState": UpdateConnectionState, 727 | "updateTermsOfService": UpdateTermsOfService, 728 | "updateNewInlineQuery": UpdateNewInlineQuery, 729 | "updateNewChosenInlineResult": UpdateNewChosenInlineResult, 730 | "updateNewCallbackQuery": UpdateNewCallbackQuery, 731 | "updateNewInlineCallbackQuery": UpdateNewInlineCallbackQuery, 732 | "updateNewShippingQuery": UpdateNewShippingQuery, 733 | "updateNewPreCheckoutQuery": UpdateNewPreCheckoutQuery, 734 | "updateNewCustomEvent": UpdateNewCustomEvent, 735 | "updateNewCustomQuery": UpdateNewCustomQuery, 736 | "updatePoll": UpdatePoll, 737 | "updates": Updates, 738 | "logStreamDefault": LogStreamDefault, 739 | "logStreamFile": LogStreamFile, 740 | "logStreamEmpty": LogStreamEmpty, 741 | "logVerbosityLevel": LogVerbosityLevel, 742 | "logTags": LogTags, 743 | "testInt": TestInt, 744 | "testString": TestString, 745 | "testBytes": TestBytes, 746 | "testVectorInt": TestVectorInt, 747 | "testVectorIntObject": TestVectorIntObject, 748 | "testVectorString": TestVectorString, 749 | "testVectorStringObject": TestVectorStringObject, 750 | }; -------------------------------------------------------------------------------- /codegen/tl_api.json: -------------------------------------------------------------------------------- 1 | {"types":{"Error":{"error":{"superclass":"Error","fields":{"code":"int","message":"String"}}},"Ok":{"ok":{"superclass":"Ok","fields":{}}},"TdlibParameters":{"tdlibParameters":{"superclass":"TdlibParameters","fields":{"use_test_dc":"bool","database_directory":"String","files_directory":"String","use_file_database":"bool","use_chat_info_database":"bool","use_message_database":"bool","use_secret_chats":"bool","api_id":"int","api_hash":"String","system_language_code":"String","device_model":"String","system_version":"String","application_version":"String","enable_storage_optimizer":"bool","ignore_file_names":"bool"}}},"AuthenticationCodeType":{"authenticationCodeTypeTelegramMessage":{"superclass":"AuthenticationCodeType","fields":{"length":"int"}},"authenticationCodeTypeSms":{"superclass":"AuthenticationCodeType","fields":{"length":"int"}},"authenticationCodeTypeCall":{"superclass":"AuthenticationCodeType","fields":{"length":"int"}},"authenticationCodeTypeFlashCall":{"superclass":"AuthenticationCodeType","fields":{"pattern":"String"}}},"AuthenticationCodeInfo":{"authenticationCodeInfo":{"superclass":"AuthenticationCodeInfo","fields":{"phone_number":"String","type":"AuthenticationCodeType","next_type":"AuthenticationCodeType","timeout":"int"}}},"EmailAddressAuthenticationCodeInfo":{"emailAddressAuthenticationCodeInfo":{"superclass":"EmailAddressAuthenticationCodeInfo","fields":{"email_address_pattern":"String","length":"int"}}},"TextEntity":{"textEntity":{"superclass":"TextEntity","fields":{"offset":"int","length":"int","type":"TextEntityType"}}},"TextEntities":{"textEntities":{"superclass":"TextEntities","fields":{"entities":"List"}}},"FormattedText":{"formattedText":{"superclass":"FormattedText","fields":{"text":"String","entities":"List"}}},"TermsOfService":{"termsOfService":{"superclass":"TermsOfService","fields":{"text":"FormattedText","min_user_age":"int","show_popup":"bool"}}},"AuthorizationState":{"authorizationStateWaitTdlibParameters":{"superclass":"AuthorizationState","fields":{}},"authorizationStateWaitEncryptionKey":{"superclass":"AuthorizationState","fields":{"is_encrypted":"bool"}},"authorizationStateWaitPhoneNumber":{"superclass":"AuthorizationState","fields":{}},"authorizationStateWaitCode":{"superclass":"AuthorizationState","fields":{"code_info":"AuthenticationCodeInfo"}},"authorizationStateWaitRegistration":{"superclass":"AuthorizationState","fields":{"terms_of_service":"TermsOfService"}},"authorizationStateWaitPassword":{"superclass":"AuthorizationState","fields":{"password_hint":"String","has_recovery_email_address":"bool","recovery_email_address_pattern":"String"}},"authorizationStateReady":{"superclass":"AuthorizationState","fields":{}},"authorizationStateLoggingOut":{"superclass":"AuthorizationState","fields":{}},"authorizationStateClosing":{"superclass":"AuthorizationState","fields":{}},"authorizationStateClosed":{"superclass":"AuthorizationState","fields":{}}},"PasswordState":{"passwordState":{"superclass":"PasswordState","fields":{"has_password":"bool","password_hint":"String","has_recovery_email_address":"bool","has_passport_data":"bool","recovery_email_address_code_info":"EmailAddressAuthenticationCodeInfo"}}},"RecoveryEmailAddress":{"recoveryEmailAddress":{"superclass":"RecoveryEmailAddress","fields":{"recovery_email_address":"String"}}},"TemporaryPasswordState":{"temporaryPasswordState":{"superclass":"TemporaryPasswordState","fields":{"has_password":"bool","valid_for":"int"}}},"LocalFile":{"localFile":{"superclass":"LocalFile","fields":{"path":"String","can_be_downloaded":"bool","can_be_deleted":"bool","is_downloading_active":"bool","is_downloading_completed":"bool","download_offset":"int","downloaded_prefix_size":"int","downloaded_size":"int"}}},"RemoteFile":{"remoteFile":{"superclass":"RemoteFile","fields":{"id":"String","is_uploading_active":"bool","is_uploading_completed":"bool","uploaded_size":"int"}}},"File":{"file":{"superclass":"File","fields":{"id":"int","size":"int","expected_size":"int","local":"LocalFile","remote":"RemoteFile"}}},"InputFile":{"inputFileId":{"superclass":"InputFile","fields":{"id":"int"}},"inputFileRemote":{"superclass":"InputFile","fields":{"id":"String"}},"inputFileLocal":{"superclass":"InputFile","fields":{"path":"String"}},"inputFileGenerated":{"superclass":"InputFile","fields":{"original_path":"String","conversion":"String","expected_size":"int"}}},"PhotoSize":{"photoSize":{"superclass":"PhotoSize","fields":{"type":"String","photo":"File","width":"int","height":"int"}}},"Minithumbnail":{"minithumbnail":{"superclass":"Minithumbnail","fields":{"width":"int","height":"int","data":"String"}}},"MaskPoint":{"maskPointForehead":{"superclass":"MaskPoint","fields":{}},"maskPointEyes":{"superclass":"MaskPoint","fields":{}},"maskPointMouth":{"superclass":"MaskPoint","fields":{}},"maskPointChin":{"superclass":"MaskPoint","fields":{}}},"MaskPosition":{"maskPosition":{"superclass":"MaskPosition","fields":{"point":"MaskPoint","x_shift":"double","y_shift":"double","scale":"double"}}},"PollOption":{"pollOption":{"superclass":"PollOption","fields":{"text":"String","voter_count":"int","vote_percentage":"int","is_chosen":"bool","is_being_chosen":"bool"}}},"Animation":{"animation":{"superclass":"Animation","fields":{"duration":"int","width":"int","height":"int","file_name":"String","mime_type":"String","minithumbnail":"Minithumbnail","thumbnail":"PhotoSize","animation":"File"}}},"Audio":{"audio":{"superclass":"Audio","fields":{"duration":"int","title":"String","performer":"String","file_name":"String","mime_type":"String","album_cover_minithumbnail":"Minithumbnail","album_cover_thumbnail":"PhotoSize","audio":"File"}}},"Document":{"document":{"superclass":"Document","fields":{"file_name":"String","mime_type":"String","minithumbnail":"Minithumbnail","thumbnail":"PhotoSize","document":"File"}}},"Photo":{"photo":{"superclass":"Photo","fields":{"has_stickers":"bool","minithumbnail":"Minithumbnail","sizes":"List"}}},"Sticker":{"sticker":{"superclass":"Sticker","fields":{"set_id":"int","width":"int","height":"int","emoji":"String","is_animated":"bool","is_mask":"bool","mask_position":"MaskPosition","thumbnail":"PhotoSize","sticker":"File"}}},"Video":{"video":{"superclass":"Video","fields":{"duration":"int","width":"int","height":"int","file_name":"String","mime_type":"String","has_stickers":"bool","supports_streaming":"bool","minithumbnail":"Minithumbnail","thumbnail":"PhotoSize","video":"File"}}},"VideoNote":{"videoNote":{"superclass":"VideoNote","fields":{"duration":"int","length":"int","minithumbnail":"Minithumbnail","thumbnail":"PhotoSize","video":"File"}}},"VoiceNote":{"voiceNote":{"superclass":"VoiceNote","fields":{"duration":"int","waveform":"String","mime_type":"String","voice":"File"}}},"Contact":{"contact":{"superclass":"Contact","fields":{"phone_number":"String","first_name":"String","last_name":"String","vcard":"String","user_id":"int"}}},"Location":{"location":{"superclass":"Location","fields":{"latitude":"double","longitude":"double"}}},"Venue":{"venue":{"superclass":"Venue","fields":{"location":"Location","title":"String","address":"String","provider":"String","id":"String","type":"String"}}},"Game":{"game":{"superclass":"Game","fields":{"id":"int","short_name":"String","title":"String","text":"FormattedText","description":"String","photo":"Photo","animation":"Animation"}}},"Poll":{"poll":{"superclass":"Poll","fields":{"id":"int","question":"String","options":"List","total_voter_count":"int","is_closed":"bool"}}},"ProfilePhoto":{"profilePhoto":{"superclass":"ProfilePhoto","fields":{"id":"int","small":"File","big":"File"}}},"ChatPhoto":{"chatPhoto":{"superclass":"ChatPhoto","fields":{"small":"File","big":"File"}}},"LinkState":{"linkStateNone":{"superclass":"LinkState","fields":{}},"linkStateKnowsPhoneNumber":{"superclass":"LinkState","fields":{}},"linkStateIsContact":{"superclass":"LinkState","fields":{}}},"UserType":{"userTypeRegular":{"superclass":"UserType","fields":{}},"userTypeDeleted":{"superclass":"UserType","fields":{}},"userTypeBot":{"superclass":"UserType","fields":{"can_join_groups":"bool","can_read_all_group_messages":"bool","is_inline":"bool","inline_query_placeholder":"String","need_location":"bool"}},"userTypeUnknown":{"superclass":"UserType","fields":{}}},"BotCommand":{"botCommand":{"superclass":"BotCommand","fields":{"command":"String","description":"String"}}},"BotInfo":{"botInfo":{"superclass":"BotInfo","fields":{"description":"String","commands":"List"}}},"User":{"user":{"superclass":"User","fields":{"id":"int","first_name":"String","last_name":"String","username":"String","phone_number":"String","status":"UserStatus","profile_photo":"ProfilePhoto","outgoing_link":"LinkState","incoming_link":"LinkState","is_verified":"bool","is_support":"bool","restriction_reason":"String","is_scam":"bool","have_access":"bool","type":"UserType","language_code":"String"}}},"UserFullInfo":{"userFullInfo":{"superclass":"UserFullInfo","fields":{"is_blocked":"bool","can_be_called":"bool","has_private_calls":"bool","bio":"String","share_text":"String","group_in_common_count":"int","bot_info":"BotInfo"}}},"UserProfilePhoto":{"userProfilePhoto":{"superclass":"UserProfilePhoto","fields":{"id":"int","added_date":"int","sizes":"List"}}},"UserProfilePhotos":{"userProfilePhotos":{"superclass":"UserProfilePhotos","fields":{"total_count":"int","photos":"List"}}},"Users":{"users":{"superclass":"Users","fields":{"total_count":"int","user_ids":"List"}}},"ChatPermissions":{"chatPermissions":{"superclass":"ChatPermissions","fields":{"can_send_messages":"bool","can_send_media_messages":"bool","can_send_polls":"bool","can_send_other_messages":"bool","can_add_web_page_previews":"bool","can_change_info":"bool","can_invite_users":"bool","can_pin_messages":"bool"}}},"ChatMemberStatus":{"chatMemberStatusCreator":{"superclass":"ChatMemberStatus","fields":{"is_member":"bool"}},"chatMemberStatusAdministrator":{"superclass":"ChatMemberStatus","fields":{"can_be_edited":"bool","can_change_info":"bool","can_post_messages":"bool","can_edit_messages":"bool","can_delete_messages":"bool","can_invite_users":"bool","can_restrict_members":"bool","can_pin_messages":"bool","can_promote_members":"bool"}},"chatMemberStatusMember":{"superclass":"ChatMemberStatus","fields":{}},"chatMemberStatusRestricted":{"superclass":"ChatMemberStatus","fields":{"is_member":"bool","restricted_until_date":"int","permissions":"ChatPermissions"}},"chatMemberStatusLeft":{"superclass":"ChatMemberStatus","fields":{}},"chatMemberStatusBanned":{"superclass":"ChatMemberStatus","fields":{"banned_until_date":"int"}}},"ChatMember":{"chatMember":{"superclass":"ChatMember","fields":{"user_id":"int","inviter_user_id":"int","joined_chat_date":"int","status":"ChatMemberStatus","bot_info":"BotInfo"}}},"ChatMembers":{"chatMembers":{"superclass":"ChatMembers","fields":{"total_count":"int","members":"List"}}},"ChatMembersFilter":{"chatMembersFilterContacts":{"superclass":"ChatMembersFilter","fields":{}},"chatMembersFilterAdministrators":{"superclass":"ChatMembersFilter","fields":{}},"chatMembersFilterMembers":{"superclass":"ChatMembersFilter","fields":{}},"chatMembersFilterRestricted":{"superclass":"ChatMembersFilter","fields":{}},"chatMembersFilterBanned":{"superclass":"ChatMembersFilter","fields":{}},"chatMembersFilterBots":{"superclass":"ChatMembersFilter","fields":{}}},"SupergroupMembersFilter":{"supergroupMembersFilterRecent":{"superclass":"SupergroupMembersFilter","fields":{}},"supergroupMembersFilterContacts":{"superclass":"SupergroupMembersFilter","fields":{"query":"String"}},"supergroupMembersFilterAdministrators":{"superclass":"SupergroupMembersFilter","fields":{}},"supergroupMembersFilterSearch":{"superclass":"SupergroupMembersFilter","fields":{"query":"String"}},"supergroupMembersFilterRestricted":{"superclass":"SupergroupMembersFilter","fields":{"query":"String"}},"supergroupMembersFilterBanned":{"superclass":"SupergroupMembersFilter","fields":{"query":"String"}},"supergroupMembersFilterBots":{"superclass":"SupergroupMembersFilter","fields":{}}},"BasicGroup":{"basicGroup":{"superclass":"BasicGroup","fields":{"id":"int","member_count":"int","status":"ChatMemberStatus","is_active":"bool","upgraded_to_supergroup_id":"int"}}},"BasicGroupFullInfo":{"basicGroupFullInfo":{"superclass":"BasicGroupFullInfo","fields":{"description":"String","creator_user_id":"int","members":"List","invite_link":"String"}}},"Supergroup":{"supergroup":{"superclass":"Supergroup","fields":{"id":"int","username":"String","date":"int","status":"ChatMemberStatus","member_count":"int","sign_messages":"bool","is_channel":"bool","is_verified":"bool","restriction_reason":"String","is_scam":"bool"}}},"SupergroupFullInfo":{"supergroupFullInfo":{"superclass":"SupergroupFullInfo","fields":{"description":"String","member_count":"int","administrator_count":"int","restricted_count":"int","banned_count":"int","can_get_members":"bool","can_set_username":"bool","can_set_sticker_set":"bool","can_view_statistics":"bool","is_all_history_available":"bool","sticker_set_id":"int","invite_link":"String","upgraded_from_basic_group_id":"int","upgraded_from_max_message_id":"int"}}},"SecretChatState":{"secretChatStatePending":{"superclass":"SecretChatState","fields":{}},"secretChatStateReady":{"superclass":"SecretChatState","fields":{}},"secretChatStateClosed":{"superclass":"SecretChatState","fields":{}}},"SecretChat":{"secretChat":{"superclass":"SecretChat","fields":{"id":"int","user_id":"int","state":"SecretChatState","is_outbound":"bool","ttl":"int","key_hash":"String","layer":"int"}}},"MessageForwardOrigin":{"messageForwardOriginUser":{"superclass":"MessageForwardOrigin","fields":{"sender_user_id":"int"}},"messageForwardOriginHiddenUser":{"superclass":"MessageForwardOrigin","fields":{"sender_name":"String"}},"messageForwardOriginChannel":{"superclass":"MessageForwardOrigin","fields":{"chat_id":"int","message_id":"int","author_signature":"String"}}},"MessageForwardInfo":{"messageForwardInfo":{"superclass":"MessageForwardInfo","fields":{"origin":"MessageForwardOrigin","date":"int","from_chat_id":"int","from_message_id":"int"}}},"MessageSendingState":{"messageSendingStatePending":{"superclass":"MessageSendingState","fields":{}},"messageSendingStateFailed":{"superclass":"MessageSendingState","fields":{"error_code":"int","error_message":"String","can_retry":"bool","retry_after":"double"}}},"Message":{"message":{"superclass":"Message","fields":{"id":"int","sender_user_id":"int","chat_id":"int","sending_state":"MessageSendingState","is_outgoing":"bool","can_be_edited":"bool","can_be_forwarded":"bool","can_be_deleted_only_for_self":"bool","can_be_deleted_for_all_users":"bool","is_channel_post":"bool","contains_unread_mention":"bool","date":"int","edit_date":"int","forward_info":"MessageForwardInfo","reply_to_message_id":"int","ttl":"int","ttl_expires_in":"double","via_bot_user_id":"int","author_signature":"String","views":"int","media_album_id":"int","content":"MessageContent","reply_markup":"ReplyMarkup"}}},"Messages":{"messages":{"superclass":"Messages","fields":{"total_count":"int","messages":"List"}}},"FoundMessages":{"foundMessages":{"superclass":"FoundMessages","fields":{"messages":"List","next_from_search_id":"int"}}},"NotificationSettingsScope":{"notificationSettingsScopePrivateChats":{"superclass":"NotificationSettingsScope","fields":{}},"notificationSettingsScopeGroupChats":{"superclass":"NotificationSettingsScope","fields":{}},"notificationSettingsScopeChannelChats":{"superclass":"NotificationSettingsScope","fields":{}}},"ChatNotificationSettings":{"chatNotificationSettings":{"superclass":"ChatNotificationSettings","fields":{"use_default_mute_for":"bool","mute_for":"int","use_default_sound":"bool","sound":"String","use_default_show_preview":"bool","show_preview":"bool","use_default_disable_pinned_message_notifications":"bool","disable_pinned_message_notifications":"bool","use_default_disable_mention_notifications":"bool","disable_mention_notifications":"bool"}}},"ScopeNotificationSettings":{"scopeNotificationSettings":{"superclass":"ScopeNotificationSettings","fields":{"mute_for":"int","sound":"String","show_preview":"bool","disable_pinned_message_notifications":"bool","disable_mention_notifications":"bool"}}},"DraftMessage":{"draftMessage":{"superclass":"DraftMessage","fields":{"reply_to_message_id":"int","input_message_text":"InputMessageContent"}}},"ChatType":{"chatTypePrivate":{"superclass":"ChatType","fields":{"user_id":"int"}},"chatTypeBasicGroup":{"superclass":"ChatType","fields":{"basic_group_id":"int"}},"chatTypeSupergroup":{"superclass":"ChatType","fields":{"supergroup_id":"int","is_channel":"bool"}},"chatTypeSecret":{"superclass":"ChatType","fields":{"secret_chat_id":"int","user_id":"int"}}},"Chat":{"chat":{"superclass":"Chat","fields":{"id":"int","type":"ChatType","title":"String","photo":"ChatPhoto","permissions":"ChatPermissions","last_message":"Message","order":"int","is_pinned":"bool","is_marked_as_unread":"bool","is_sponsored":"bool","can_be_deleted_only_for_self":"bool","can_be_deleted_for_all_users":"bool","can_be_reported":"bool","default_disable_notification":"bool","unread_count":"int","last_read_inbox_message_id":"int","last_read_outbox_message_id":"int","unread_mention_count":"int","notification_settings":"ChatNotificationSettings","pinned_message_id":"int","reply_markup_message_id":"int","draft_message":"DraftMessage","client_data":"String"}}},"Chats":{"chats":{"superclass":"Chats","fields":{"chat_ids":"List"}}},"ChatInviteLink":{"chatInviteLink":{"superclass":"ChatInviteLink","fields":{"invite_link":"String"}}},"ChatInviteLinkInfo":{"chatInviteLinkInfo":{"superclass":"ChatInviteLinkInfo","fields":{"chat_id":"int","type":"ChatType","title":"String","photo":"ChatPhoto","member_count":"int","member_user_ids":"List","is_public":"bool"}}},"KeyboardButtonType":{"keyboardButtonTypeText":{"superclass":"KeyboardButtonType","fields":{}},"keyboardButtonTypeRequestPhoneNumber":{"superclass":"KeyboardButtonType","fields":{}},"keyboardButtonTypeRequestLocation":{"superclass":"KeyboardButtonType","fields":{}}},"KeyboardButton":{"keyboardButton":{"superclass":"KeyboardButton","fields":{"text":"String","type":"KeyboardButtonType"}}},"InlineKeyboardButtonType":{"inlineKeyboardButtonTypeUrl":{"superclass":"InlineKeyboardButtonType","fields":{"url":"String"}},"inlineKeyboardButtonTypeLoginUrl":{"superclass":"InlineKeyboardButtonType","fields":{"url":"String","id":"int","forward_text":"String"}},"inlineKeyboardButtonTypeCallback":{"superclass":"InlineKeyboardButtonType","fields":{"data":"String"}},"inlineKeyboardButtonTypeCallbackGame":{"superclass":"InlineKeyboardButtonType","fields":{}},"inlineKeyboardButtonTypeSwitchInline":{"superclass":"InlineKeyboardButtonType","fields":{"query":"String","in_current_chat":"bool"}},"inlineKeyboardButtonTypeBuy":{"superclass":"InlineKeyboardButtonType","fields":{}}},"InlineKeyboardButton":{"inlineKeyboardButton":{"superclass":"InlineKeyboardButton","fields":{"text":"String","type":"InlineKeyboardButtonType"}}},"ReplyMarkup":{"replyMarkupRemoveKeyboard":{"superclass":"ReplyMarkup","fields":{"is_personal":"bool"}},"replyMarkupForceReply":{"superclass":"ReplyMarkup","fields":{"is_personal":"bool"}},"replyMarkupShowKeyboard":{"superclass":"ReplyMarkup","fields":{"rows":"List>","resize_keyboard":"bool","one_time":"bool","is_personal":"bool"}},"replyMarkupInlineKeyboard":{"superclass":"ReplyMarkup","fields":{"rows":"List>"}}},"RichText":{"richTextPlain":{"superclass":"RichText","fields":{"text":"String"}},"richTextBold":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextItalic":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextUnderline":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextStrikethrough":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextFixed":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextUrl":{"superclass":"RichText","fields":{"text":"RichText","url":"String","is_cached":"bool"}},"richTextEmailAddress":{"superclass":"RichText","fields":{"text":"RichText","email_address":"String"}},"richTextSubscript":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextSuperscript":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextMarked":{"superclass":"RichText","fields":{"text":"RichText"}},"richTextPhoneNumber":{"superclass":"RichText","fields":{"text":"RichText","phone_number":"String"}},"richTextIcon":{"superclass":"RichText","fields":{"document":"Document","width":"int","height":"int"}},"richTextAnchor":{"superclass":"RichText","fields":{"text":"RichText","name":"String"}},"richTexts":{"superclass":"RichText","fields":{"texts":"List"}}},"PageBlockCaption":{"pageBlockCaption":{"superclass":"PageBlockCaption","fields":{"text":"RichText","credit":"RichText"}}},"PageBlockListItem":{"pageBlockListItem":{"superclass":"PageBlockListItem","fields":{"label":"String","page_blocks":"List"}}},"PageBlockHorizontalAlignment":{"pageBlockHorizontalAlignmentLeft":{"superclass":"PageBlockHorizontalAlignment","fields":{}},"pageBlockHorizontalAlignmentCenter":{"superclass":"PageBlockHorizontalAlignment","fields":{}},"pageBlockHorizontalAlignmentRight":{"superclass":"PageBlockHorizontalAlignment","fields":{}}},"PageBlockVerticalAlignment":{"pageBlockVerticalAlignmentTop":{"superclass":"PageBlockVerticalAlignment","fields":{}},"pageBlockVerticalAlignmentMiddle":{"superclass":"PageBlockVerticalAlignment","fields":{}},"pageBlockVerticalAlignmentBottom":{"superclass":"PageBlockVerticalAlignment","fields":{}}},"PageBlockTableCell":{"pageBlockTableCell":{"superclass":"PageBlockTableCell","fields":{"text":"RichText","is_header":"bool","colspan":"int","rowspan":"int","align":"PageBlockHorizontalAlignment","valign":"PageBlockVerticalAlignment"}}},"PageBlockRelatedArticle":{"pageBlockRelatedArticle":{"superclass":"PageBlockRelatedArticle","fields":{"url":"String","title":"String","description":"String","photo":"Photo","author":"String","publish_date":"int"}}},"PageBlock":{"pageBlockTitle":{"superclass":"PageBlock","fields":{"title":"RichText"}},"pageBlockSubtitle":{"superclass":"PageBlock","fields":{"subtitle":"RichText"}},"pageBlockAuthorDate":{"superclass":"PageBlock","fields":{"author":"RichText","publish_date":"int"}},"pageBlockHeader":{"superclass":"PageBlock","fields":{"header":"RichText"}},"pageBlockSubheader":{"superclass":"PageBlock","fields":{"subheader":"RichText"}},"pageBlockKicker":{"superclass":"PageBlock","fields":{"kicker":"RichText"}},"pageBlockParagraph":{"superclass":"PageBlock","fields":{"text":"RichText"}},"pageBlockPreformatted":{"superclass":"PageBlock","fields":{"text":"RichText","language":"String"}},"pageBlockFooter":{"superclass":"PageBlock","fields":{"footer":"RichText"}},"pageBlockDivider":{"superclass":"PageBlock","fields":{}},"pageBlockAnchor":{"superclass":"PageBlock","fields":{"name":"String"}},"pageBlockList":{"superclass":"PageBlock","fields":{"items":"List"}},"pageBlockBlockQuote":{"superclass":"PageBlock","fields":{"text":"RichText","credit":"RichText"}},"pageBlockPullQuote":{"superclass":"PageBlock","fields":{"text":"RichText","credit":"RichText"}},"pageBlockAnimation":{"superclass":"PageBlock","fields":{"animation":"Animation","caption":"PageBlockCaption","need_autoplay":"bool"}},"pageBlockAudio":{"superclass":"PageBlock","fields":{"audio":"Audio","caption":"PageBlockCaption"}},"pageBlockPhoto":{"superclass":"PageBlock","fields":{"photo":"Photo","caption":"PageBlockCaption","url":"String"}},"pageBlockVideo":{"superclass":"PageBlock","fields":{"video":"Video","caption":"PageBlockCaption","need_autoplay":"bool","is_looped":"bool"}},"pageBlockVoiceNote":{"superclass":"PageBlock","fields":{"voice_note":"VoiceNote","caption":"PageBlockCaption"}},"pageBlockCover":{"superclass":"PageBlock","fields":{"cover":"PageBlock"}},"pageBlockEmbedded":{"superclass":"PageBlock","fields":{"url":"String","html":"String","poster_photo":"Photo","width":"int","height":"int","caption":"PageBlockCaption","is_full_width":"bool","allow_scrolling":"bool"}},"pageBlockEmbeddedPost":{"superclass":"PageBlock","fields":{"url":"String","author":"String","author_photo":"Photo","date":"int","page_blocks":"List","caption":"PageBlockCaption"}},"pageBlockCollage":{"superclass":"PageBlock","fields":{"page_blocks":"List","caption":"PageBlockCaption"}},"pageBlockSlideshow":{"superclass":"PageBlock","fields":{"page_blocks":"List","caption":"PageBlockCaption"}},"pageBlockChatLink":{"superclass":"PageBlock","fields":{"title":"String","photo":"ChatPhoto","username":"String"}},"pageBlockTable":{"superclass":"PageBlock","fields":{"caption":"RichText","cells":"List>","is_bordered":"bool","is_striped":"bool"}},"pageBlockDetails":{"superclass":"PageBlock","fields":{"header":"RichText","page_blocks":"List","is_open":"bool"}},"pageBlockRelatedArticles":{"superclass":"PageBlock","fields":{"header":"RichText","articles":"List"}},"pageBlockMap":{"superclass":"PageBlock","fields":{"location":"Location","zoom":"int","width":"int","height":"int","caption":"PageBlockCaption"}}},"WebPageInstantView":{"webPageInstantView":{"superclass":"WebPageInstantView","fields":{"page_blocks":"List","version":"int","url":"String","is_rtl":"bool","is_full":"bool"}}},"WebPage":{"webPage":{"superclass":"WebPage","fields":{"url":"String","display_url":"String","type":"String","site_name":"String","title":"String","description":"String","photo":"Photo","embed_url":"String","embed_type":"String","embed_width":"int","embed_height":"int","duration":"int","author":"String","animation":"Animation","audio":"Audio","document":"Document","sticker":"Sticker","video":"Video","video_note":"VideoNote","voice_note":"VoiceNote","instant_view_version":"int"}}},"Address":{"address":{"superclass":"Address","fields":{"country_code":"String","state":"String","city":"String","street_line1":"String","street_line2":"String","postal_code":"String"}}},"LabeledPricePart":{"labeledPricePart":{"superclass":"LabeledPricePart","fields":{"label":"String","amount":"int"}}},"Invoice":{"invoice":{"superclass":"Invoice","fields":{"currency":"String","price_parts":"List","is_test":"bool","need_name":"bool","need_phone_number":"bool","need_email_address":"bool","need_shipping_address":"bool","send_phone_number_to_provider":"bool","send_email_address_to_provider":"bool","is_flexible":"bool"}}},"OrderInfo":{"orderInfo":{"superclass":"OrderInfo","fields":{"name":"String","phone_number":"String","email_address":"String","shipping_address":"Address"}}},"ShippingOption":{"shippingOption":{"superclass":"ShippingOption","fields":{"id":"String","title":"String","price_parts":"List"}}},"SavedCredentials":{"savedCredentials":{"superclass":"SavedCredentials","fields":{"id":"String","title":"String"}}},"InputCredentials":{"inputCredentialsSaved":{"superclass":"InputCredentials","fields":{"saved_credentials_id":"String"}},"inputCredentialsNew":{"superclass":"InputCredentials","fields":{"data":"String","allow_save":"bool"}},"inputCredentialsAndroidPay":{"superclass":"InputCredentials","fields":{"data":"String"}},"inputCredentialsApplePay":{"superclass":"InputCredentials","fields":{"data":"String"}}},"PaymentsProviderStripe":{"paymentsProviderStripe":{"superclass":"PaymentsProviderStripe","fields":{"publishable_key":"String","need_country":"bool","need_postal_code":"bool","need_cardholder_name":"bool"}}},"PaymentForm":{"paymentForm":{"superclass":"PaymentForm","fields":{"invoice":"Invoice","url":"String","payments_provider":"PaymentsProviderStripe","saved_order_info":"OrderInfo","saved_credentials":"SavedCredentials","can_save_credentials":"bool","need_password":"bool"}}},"ValidatedOrderInfo":{"validatedOrderInfo":{"superclass":"ValidatedOrderInfo","fields":{"order_info_id":"String","shipping_options":"List"}}},"PaymentResult":{"paymentResult":{"superclass":"PaymentResult","fields":{"success":"bool","verification_url":"String"}}},"PaymentReceipt":{"paymentReceipt":{"superclass":"PaymentReceipt","fields":{"date":"int","payments_provider_user_id":"int","invoice":"Invoice","order_info":"OrderInfo","shipping_option":"ShippingOption","credentials_title":"String"}}},"DatedFile":{"datedFile":{"superclass":"DatedFile","fields":{"file":"File","date":"int"}}},"PassportElementType":{"passportElementTypePersonalDetails":{"superclass":"PassportElementType","fields":{}},"passportElementTypePassport":{"superclass":"PassportElementType","fields":{}},"passportElementTypeDriverLicense":{"superclass":"PassportElementType","fields":{}},"passportElementTypeIdentityCard":{"superclass":"PassportElementType","fields":{}},"passportElementTypeInternalPassport":{"superclass":"PassportElementType","fields":{}},"passportElementTypeAddress":{"superclass":"PassportElementType","fields":{}},"passportElementTypeUtilityBill":{"superclass":"PassportElementType","fields":{}},"passportElementTypeBankStatement":{"superclass":"PassportElementType","fields":{}},"passportElementTypeRentalAgreement":{"superclass":"PassportElementType","fields":{}},"passportElementTypePassportRegistration":{"superclass":"PassportElementType","fields":{}},"passportElementTypeTemporaryRegistration":{"superclass":"PassportElementType","fields":{}},"passportElementTypePhoneNumber":{"superclass":"PassportElementType","fields":{}},"passportElementTypeEmailAddress":{"superclass":"PassportElementType","fields":{}}},"Date":{"date":{"superclass":"Date","fields":{"day":"int","month":"int","year":"int"}}},"PersonalDetails":{"personalDetails":{"superclass":"PersonalDetails","fields":{"first_name":"String","middle_name":"String","last_name":"String","native_first_name":"String","native_middle_name":"String","native_last_name":"String","birthdate":"Date","gender":"String","country_code":"String","residence_country_code":"String"}}},"IdentityDocument":{"identityDocument":{"superclass":"IdentityDocument","fields":{"number":"String","expiry_date":"Date","front_side":"DatedFile","reverse_side":"DatedFile","selfie":"DatedFile","translation":"List"}}},"InputIdentityDocument":{"inputIdentityDocument":{"superclass":"InputIdentityDocument","fields":{"number":"String","expiry_date":"Date","front_side":"InputFile","reverse_side":"InputFile","selfie":"InputFile","translation":"List"}}},"PersonalDocument":{"personalDocument":{"superclass":"PersonalDocument","fields":{"files":"List","translation":"List"}}},"InputPersonalDocument":{"inputPersonalDocument":{"superclass":"InputPersonalDocument","fields":{"files":"List","translation":"List"}}},"PassportElement":{"passportElementPersonalDetails":{"superclass":"PassportElement","fields":{"personal_details":"PersonalDetails"}},"passportElementPassport":{"superclass":"PassportElement","fields":{"passport":"IdentityDocument"}},"passportElementDriverLicense":{"superclass":"PassportElement","fields":{"driver_license":"IdentityDocument"}},"passportElementIdentityCard":{"superclass":"PassportElement","fields":{"identity_card":"IdentityDocument"}},"passportElementInternalPassport":{"superclass":"PassportElement","fields":{"internal_passport":"IdentityDocument"}},"passportElementAddress":{"superclass":"PassportElement","fields":{"address":"Address"}},"passportElementUtilityBill":{"superclass":"PassportElement","fields":{"utility_bill":"PersonalDocument"}},"passportElementBankStatement":{"superclass":"PassportElement","fields":{"bank_statement":"PersonalDocument"}},"passportElementRentalAgreement":{"superclass":"PassportElement","fields":{"rental_agreement":"PersonalDocument"}},"passportElementPassportRegistration":{"superclass":"PassportElement","fields":{"passport_registration":"PersonalDocument"}},"passportElementTemporaryRegistration":{"superclass":"PassportElement","fields":{"temporary_registration":"PersonalDocument"}},"passportElementPhoneNumber":{"superclass":"PassportElement","fields":{"phone_number":"String"}},"passportElementEmailAddress":{"superclass":"PassportElement","fields":{"email_address":"String"}}},"InputPassportElement":{"inputPassportElementPersonalDetails":{"superclass":"InputPassportElement","fields":{"personal_details":"PersonalDetails"}},"inputPassportElementPassport":{"superclass":"InputPassportElement","fields":{"passport":"InputIdentityDocument"}},"inputPassportElementDriverLicense":{"superclass":"InputPassportElement","fields":{"driver_license":"InputIdentityDocument"}},"inputPassportElementIdentityCard":{"superclass":"InputPassportElement","fields":{"identity_card":"InputIdentityDocument"}},"inputPassportElementInternalPassport":{"superclass":"InputPassportElement","fields":{"internal_passport":"InputIdentityDocument"}},"inputPassportElementAddress":{"superclass":"InputPassportElement","fields":{"address":"Address"}},"inputPassportElementUtilityBill":{"superclass":"InputPassportElement","fields":{"utility_bill":"InputPersonalDocument"}},"inputPassportElementBankStatement":{"superclass":"InputPassportElement","fields":{"bank_statement":"InputPersonalDocument"}},"inputPassportElementRentalAgreement":{"superclass":"InputPassportElement","fields":{"rental_agreement":"InputPersonalDocument"}},"inputPassportElementPassportRegistration":{"superclass":"InputPassportElement","fields":{"passport_registration":"InputPersonalDocument"}},"inputPassportElementTemporaryRegistration":{"superclass":"InputPassportElement","fields":{"temporary_registration":"InputPersonalDocument"}},"inputPassportElementPhoneNumber":{"superclass":"InputPassportElement","fields":{"phone_number":"String"}},"inputPassportElementEmailAddress":{"superclass":"InputPassportElement","fields":{"email_address":"String"}}},"PassportElements":{"passportElements":{"superclass":"PassportElements","fields":{"elements":"List"}}},"PassportElementErrorSource":{"passportElementErrorSourceUnspecified":{"superclass":"PassportElementErrorSource","fields":{}},"passportElementErrorSourceDataField":{"superclass":"PassportElementErrorSource","fields":{"field_name":"String"}},"passportElementErrorSourceFrontSide":{"superclass":"PassportElementErrorSource","fields":{}},"passportElementErrorSourceReverseSide":{"superclass":"PassportElementErrorSource","fields":{}},"passportElementErrorSourceSelfie":{"superclass":"PassportElementErrorSource","fields":{}},"passportElementErrorSourceTranslationFile":{"superclass":"PassportElementErrorSource","fields":{"file_index":"int"}},"passportElementErrorSourceTranslationFiles":{"superclass":"PassportElementErrorSource","fields":{}},"passportElementErrorSourceFile":{"superclass":"PassportElementErrorSource","fields":{"file_index":"int"}},"passportElementErrorSourceFiles":{"superclass":"PassportElementErrorSource","fields":{}}},"PassportElementError":{"passportElementError":{"superclass":"PassportElementError","fields":{"type":"PassportElementType","message":"String","source":"PassportElementErrorSource"}}},"PassportSuitableElement":{"passportSuitableElement":{"superclass":"PassportSuitableElement","fields":{"type":"PassportElementType","is_selfie_required":"bool","is_translation_required":"bool","is_native_name_required":"bool"}}},"PassportRequiredElement":{"passportRequiredElement":{"superclass":"PassportRequiredElement","fields":{"suitable_elements":"List"}}},"PassportAuthorizationForm":{"passportAuthorizationForm":{"superclass":"PassportAuthorizationForm","fields":{"id":"int","required_elements":"List","privacy_policy_url":"String"}}},"PassportElementsWithErrors":{"passportElementsWithErrors":{"superclass":"PassportElementsWithErrors","fields":{"elements":"List","errors":"List"}}},"EncryptedCredentials":{"encryptedCredentials":{"superclass":"EncryptedCredentials","fields":{"data":"String","hash":"String","secret":"String"}}},"EncryptedPassportElement":{"encryptedPassportElement":{"superclass":"EncryptedPassportElement","fields":{"type":"PassportElementType","data":"String","front_side":"DatedFile","reverse_side":"DatedFile","selfie":"DatedFile","translation":"List","files":"List","value":"String","hash":"String"}}},"InputPassportElementErrorSource":{"inputPassportElementErrorSourceUnspecified":{"superclass":"InputPassportElementErrorSource","fields":{"element_hash":"String"}},"inputPassportElementErrorSourceDataField":{"superclass":"InputPassportElementErrorSource","fields":{"field_name":"String","data_hash":"String"}},"inputPassportElementErrorSourceFrontSide":{"superclass":"InputPassportElementErrorSource","fields":{"file_hash":"String"}},"inputPassportElementErrorSourceReverseSide":{"superclass":"InputPassportElementErrorSource","fields":{"file_hash":"String"}},"inputPassportElementErrorSourceSelfie":{"superclass":"InputPassportElementErrorSource","fields":{"file_hash":"String"}},"inputPassportElementErrorSourceTranslationFile":{"superclass":"InputPassportElementErrorSource","fields":{"file_hash":"String"}},"inputPassportElementErrorSourceTranslationFiles":{"superclass":"InputPassportElementErrorSource","fields":{"file_hashes":"List"}},"inputPassportElementErrorSourceFile":{"superclass":"InputPassportElementErrorSource","fields":{"file_hash":"String"}},"inputPassportElementErrorSourceFiles":{"superclass":"InputPassportElementErrorSource","fields":{"file_hashes":"List"}}},"InputPassportElementError":{"inputPassportElementError":{"superclass":"InputPassportElementError","fields":{"type":"PassportElementType","message":"String","source":"InputPassportElementErrorSource"}}},"MessageContent":{"messageText":{"superclass":"MessageContent","fields":{"text":"FormattedText","web_page":"WebPage"}},"messageAnimation":{"superclass":"MessageContent","fields":{"animation":"Animation","caption":"FormattedText","is_secret":"bool"}},"messageAudio":{"superclass":"MessageContent","fields":{"audio":"Audio","caption":"FormattedText"}},"messageDocument":{"superclass":"MessageContent","fields":{"document":"Document","caption":"FormattedText"}},"messagePhoto":{"superclass":"MessageContent","fields":{"photo":"Photo","caption":"FormattedText","is_secret":"bool"}},"messageExpiredPhoto":{"superclass":"MessageContent","fields":{}},"messageSticker":{"superclass":"MessageContent","fields":{"sticker":"Sticker"}},"messageVideo":{"superclass":"MessageContent","fields":{"video":"Video","caption":"FormattedText","is_secret":"bool"}},"messageExpiredVideo":{"superclass":"MessageContent","fields":{}},"messageVideoNote":{"superclass":"MessageContent","fields":{"video_note":"VideoNote","is_viewed":"bool","is_secret":"bool"}},"messageVoiceNote":{"superclass":"MessageContent","fields":{"voice_note":"VoiceNote","caption":"FormattedText","is_listened":"bool"}},"messageLocation":{"superclass":"MessageContent","fields":{"location":"Location","live_period":"int","expires_in":"int"}},"messageVenue":{"superclass":"MessageContent","fields":{"venue":"Venue"}},"messageContact":{"superclass":"MessageContent","fields":{"contact":"Contact"}},"messageGame":{"superclass":"MessageContent","fields":{"game":"Game"}},"messagePoll":{"superclass":"MessageContent","fields":{"poll":"Poll"}},"messageInvoice":{"superclass":"MessageContent","fields":{"title":"String","description":"String","photo":"Photo","currency":"String","total_amount":"int","start_parameter":"String","is_test":"bool","need_shipping_address":"bool","receipt_message_id":"int"}},"messageCall":{"superclass":"MessageContent","fields":{"discard_reason":"CallDiscardReason","duration":"int"}},"messageBasicGroupChatCreate":{"superclass":"MessageContent","fields":{"title":"String","member_user_ids":"List"}},"messageSupergroupChatCreate":{"superclass":"MessageContent","fields":{"title":"String"}},"messageChatChangeTitle":{"superclass":"MessageContent","fields":{"title":"String"}},"messageChatChangePhoto":{"superclass":"MessageContent","fields":{"photo":"Photo"}},"messageChatDeletePhoto":{"superclass":"MessageContent","fields":{}},"messageChatAddMembers":{"superclass":"MessageContent","fields":{"member_user_ids":"List"}},"messageChatJoinByLink":{"superclass":"MessageContent","fields":{}},"messageChatDeleteMember":{"superclass":"MessageContent","fields":{"user_id":"int"}},"messageChatUpgradeTo":{"superclass":"MessageContent","fields":{"supergroup_id":"int"}},"messageChatUpgradeFrom":{"superclass":"MessageContent","fields":{"title":"String","basic_group_id":"int"}},"messagePinMessage":{"superclass":"MessageContent","fields":{"message_id":"int"}},"messageScreenshotTaken":{"superclass":"MessageContent","fields":{}},"messageChatSetTtl":{"superclass":"MessageContent","fields":{"ttl":"int"}},"messageCustomServiceAction":{"superclass":"MessageContent","fields":{"text":"String"}},"messageGameScore":{"superclass":"MessageContent","fields":{"game_message_id":"int","game_id":"int","score":"int"}},"messagePaymentSuccessful":{"superclass":"MessageContent","fields":{"invoice_message_id":"int","currency":"String","total_amount":"int"}},"messagePaymentSuccessfulBot":{"superclass":"MessageContent","fields":{"invoice_message_id":"int","currency":"String","total_amount":"int","invoice_payload":"String","shipping_option_id":"String","order_info":"OrderInfo","telegram_payment_charge_id":"String","provider_payment_charge_id":"String"}},"messageContactRegistered":{"superclass":"MessageContent","fields":{}},"messageWebsiteConnected":{"superclass":"MessageContent","fields":{"domain_name":"String"}},"messagePassportDataSent":{"superclass":"MessageContent","fields":{"types":"List"}},"messagePassportDataReceived":{"superclass":"MessageContent","fields":{"elements":"List","credentials":"EncryptedCredentials"}},"messageUnsupported":{"superclass":"MessageContent","fields":{}}},"TextEntityType":{"textEntityTypeMention":{"superclass":"TextEntityType","fields":{}},"textEntityTypeHashtag":{"superclass":"TextEntityType","fields":{}},"textEntityTypeCashtag":{"superclass":"TextEntityType","fields":{}},"textEntityTypeBotCommand":{"superclass":"TextEntityType","fields":{}},"textEntityTypeUrl":{"superclass":"TextEntityType","fields":{}},"textEntityTypeEmailAddress":{"superclass":"TextEntityType","fields":{}},"textEntityTypeBold":{"superclass":"TextEntityType","fields":{}},"textEntityTypeItalic":{"superclass":"TextEntityType","fields":{}},"textEntityTypeCode":{"superclass":"TextEntityType","fields":{}},"textEntityTypePre":{"superclass":"TextEntityType","fields":{}},"textEntityTypePreCode":{"superclass":"TextEntityType","fields":{"language":"String"}},"textEntityTypeTextUrl":{"superclass":"TextEntityType","fields":{"url":"String"}},"textEntityTypeMentionName":{"superclass":"TextEntityType","fields":{"user_id":"int"}},"textEntityTypePhoneNumber":{"superclass":"TextEntityType","fields":{}}},"InputThumbnail":{"inputThumbnail":{"superclass":"InputThumbnail","fields":{"thumbnail":"InputFile","width":"int","height":"int"}}},"InputMessageContent":{"inputMessageText":{"superclass":"InputMessageContent","fields":{"text":"FormattedText","disable_web_page_preview":"bool","clear_draft":"bool"}},"inputMessageAnimation":{"superclass":"InputMessageContent","fields":{"animation":"InputFile","thumbnail":"InputThumbnail","duration":"int","width":"int","height":"int","caption":"FormattedText"}},"inputMessageAudio":{"superclass":"InputMessageContent","fields":{"audio":"InputFile","album_cover_thumbnail":"InputThumbnail","duration":"int","title":"String","performer":"String","caption":"FormattedText"}},"inputMessageDocument":{"superclass":"InputMessageContent","fields":{"document":"InputFile","thumbnail":"InputThumbnail","caption":"FormattedText"}},"inputMessagePhoto":{"superclass":"InputMessageContent","fields":{"photo":"InputFile","thumbnail":"InputThumbnail","added_sticker_file_ids":"List","width":"int","height":"int","caption":"FormattedText","ttl":"int"}},"inputMessageSticker":{"superclass":"InputMessageContent","fields":{"sticker":"InputFile","thumbnail":"InputThumbnail","width":"int","height":"int"}},"inputMessageVideo":{"superclass":"InputMessageContent","fields":{"video":"InputFile","thumbnail":"InputThumbnail","added_sticker_file_ids":"List","duration":"int","width":"int","height":"int","supports_streaming":"bool","caption":"FormattedText","ttl":"int"}},"inputMessageVideoNote":{"superclass":"InputMessageContent","fields":{"video_note":"InputFile","thumbnail":"InputThumbnail","duration":"int","length":"int"}},"inputMessageVoiceNote":{"superclass":"InputMessageContent","fields":{"voice_note":"InputFile","duration":"int","waveform":"String","caption":"FormattedText"}},"inputMessageLocation":{"superclass":"InputMessageContent","fields":{"location":"Location","live_period":"int"}},"inputMessageVenue":{"superclass":"InputMessageContent","fields":{"venue":"Venue"}},"inputMessageContact":{"superclass":"InputMessageContent","fields":{"contact":"Contact"}},"inputMessageGame":{"superclass":"InputMessageContent","fields":{"bot_user_id":"int","game_short_name":"String"}},"inputMessageInvoice":{"superclass":"InputMessageContent","fields":{"invoice":"Invoice","title":"String","description":"String","photo_url":"String","photo_size":"int","photo_width":"int","photo_height":"int","payload":"String","provider_token":"String","provider_data":"String","start_parameter":"String"}},"inputMessagePoll":{"superclass":"InputMessageContent","fields":{"question":"String","options":"List"}},"inputMessageForwarded":{"superclass":"InputMessageContent","fields":{"from_chat_id":"int","message_id":"int","in_game_share":"bool","send_copy":"bool","remove_caption":"bool"}}},"SearchMessagesFilter":{"searchMessagesFilterEmpty":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterAnimation":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterAudio":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterDocument":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterPhoto":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterVideo":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterVoiceNote":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterPhotoAndVideo":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterUrl":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterChatPhoto":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterCall":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterMissedCall":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterVideoNote":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterVoiceAndVideoNote":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterMention":{"superclass":"SearchMessagesFilter","fields":{}},"searchMessagesFilterUnreadMention":{"superclass":"SearchMessagesFilter","fields":{}}},"ChatAction":{"chatActionTyping":{"superclass":"ChatAction","fields":{}},"chatActionRecordingVideo":{"superclass":"ChatAction","fields":{}},"chatActionUploadingVideo":{"superclass":"ChatAction","fields":{"progress":"int"}},"chatActionRecordingVoiceNote":{"superclass":"ChatAction","fields":{}},"chatActionUploadingVoiceNote":{"superclass":"ChatAction","fields":{"progress":"int"}},"chatActionUploadingPhoto":{"superclass":"ChatAction","fields":{"progress":"int"}},"chatActionUploadingDocument":{"superclass":"ChatAction","fields":{"progress":"int"}},"chatActionChoosingLocation":{"superclass":"ChatAction","fields":{}},"chatActionChoosingContact":{"superclass":"ChatAction","fields":{}},"chatActionStartPlayingGame":{"superclass":"ChatAction","fields":{}},"chatActionRecordingVideoNote":{"superclass":"ChatAction","fields":{}},"chatActionUploadingVideoNote":{"superclass":"ChatAction","fields":{"progress":"int"}},"chatActionCancel":{"superclass":"ChatAction","fields":{}}},"UserStatus":{"userStatusEmpty":{"superclass":"UserStatus","fields":{}},"userStatusOnline":{"superclass":"UserStatus","fields":{"expires":"int"}},"userStatusOffline":{"superclass":"UserStatus","fields":{"was_online":"int"}},"userStatusRecently":{"superclass":"UserStatus","fields":{}},"userStatusLastWeek":{"superclass":"UserStatus","fields":{}},"userStatusLastMonth":{"superclass":"UserStatus","fields":{}}},"Stickers":{"stickers":{"superclass":"Stickers","fields":{"stickers":"List"}}},"Emojis":{"emojis":{"superclass":"Emojis","fields":{"emojis":"List"}}},"StickerSet":{"stickerSet":{"superclass":"StickerSet","fields":{"id":"int","title":"String","name":"String","thumbnail":"PhotoSize","is_installed":"bool","is_archived":"bool","is_official":"bool","is_animated":"bool","is_masks":"bool","is_viewed":"bool","stickers":"List","emojis":"List"}}},"StickerSetInfo":{"stickerSetInfo":{"superclass":"StickerSetInfo","fields":{"id":"int","title":"String","name":"String","thumbnail":"PhotoSize","is_installed":"bool","is_archived":"bool","is_official":"bool","is_animated":"bool","is_masks":"bool","is_viewed":"bool","size":"int","covers":"List"}}},"StickerSets":{"stickerSets":{"superclass":"StickerSets","fields":{"total_count":"int","sets":"List"}}},"CallDiscardReason":{"callDiscardReasonEmpty":{"superclass":"CallDiscardReason","fields":{}},"callDiscardReasonMissed":{"superclass":"CallDiscardReason","fields":{}},"callDiscardReasonDeclined":{"superclass":"CallDiscardReason","fields":{}},"callDiscardReasonDisconnected":{"superclass":"CallDiscardReason","fields":{}},"callDiscardReasonHungUp":{"superclass":"CallDiscardReason","fields":{}}},"CallProtocol":{"callProtocol":{"superclass":"CallProtocol","fields":{"udp_p2p":"bool","udp_reflector":"bool","min_layer":"int","max_layer":"int"}}},"CallConnection":{"callConnection":{"superclass":"CallConnection","fields":{"id":"int","ip":"String","ipv6":"String","port":"int","peer_tag":"String"}}},"CallId":{"callId":{"superclass":"CallId","fields":{"id":"int"}}},"CallState":{"callStatePending":{"superclass":"CallState","fields":{"is_created":"bool","is_received":"bool"}},"callStateExchangingKeys":{"superclass":"CallState","fields":{}},"callStateReady":{"superclass":"CallState","fields":{"protocol":"CallProtocol","connections":"List","config":"String","encryption_key":"String","emojis":"List","allow_p2p":"bool"}},"callStateHangingUp":{"superclass":"CallState","fields":{}},"callStateDiscarded":{"superclass":"CallState","fields":{"reason":"CallDiscardReason","need_rating":"bool","need_debug_information":"bool"}},"callStateError":{"superclass":"CallState","fields":{"error":"Error"}}},"CallProblem":{"callProblemEcho":{"superclass":"CallProblem","fields":{}},"callProblemNoise":{"superclass":"CallProblem","fields":{}},"callProblemInterruptions":{"superclass":"CallProblem","fields":{}},"callProblemDistortedSpeech":{"superclass":"CallProblem","fields":{}},"callProblemSilentLocal":{"superclass":"CallProblem","fields":{}},"callProblemSilentRemote":{"superclass":"CallProblem","fields":{}},"callProblemDropped":{"superclass":"CallProblem","fields":{}}},"Call":{"call":{"superclass":"Call","fields":{"id":"int","user_id":"int","is_outgoing":"bool","state":"CallState"}}},"PhoneNumberAuthenticationSettings":{"phoneNumberAuthenticationSettings":{"superclass":"PhoneNumberAuthenticationSettings","fields":{"allow_flash_call":"bool","is_current_phone_number":"bool","allow_sms_retriever_api":"bool"}}},"Animations":{"animations":{"superclass":"Animations","fields":{"animations":"List"}}},"ImportedContacts":{"importedContacts":{"superclass":"ImportedContacts","fields":{"user_ids":"List","importer_count":"List"}}},"HttpUrl":{"httpUrl":{"superclass":"HttpUrl","fields":{"url":"String"}}},"InputInlineQueryResult":{"inputInlineQueryResultAnimatedGif":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","thumbnail_url":"String","gif_url":"String","gif_duration":"int","gif_width":"int","gif_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultAnimatedMpeg4":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","thumbnail_url":"String","mpeg4_url":"String","mpeg4_duration":"int","mpeg4_width":"int","mpeg4_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultArticle":{"superclass":"InputInlineQueryResult","fields":{"id":"String","url":"String","hide_url":"bool","title":"String","description":"String","thumbnail_url":"String","thumbnail_width":"int","thumbnail_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultAudio":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","performer":"String","audio_url":"String","audio_duration":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultContact":{"superclass":"InputInlineQueryResult","fields":{"id":"String","contact":"Contact","thumbnail_url":"String","thumbnail_width":"int","thumbnail_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultDocument":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","description":"String","document_url":"String","mime_type":"String","thumbnail_url":"String","thumbnail_width":"int","thumbnail_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultGame":{"superclass":"InputInlineQueryResult","fields":{"id":"String","game_short_name":"String","reply_markup":"ReplyMarkup"}},"inputInlineQueryResultLocation":{"superclass":"InputInlineQueryResult","fields":{"id":"String","location":"Location","live_period":"int","title":"String","thumbnail_url":"String","thumbnail_width":"int","thumbnail_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultPhoto":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","description":"String","thumbnail_url":"String","photo_url":"String","photo_width":"int","photo_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultSticker":{"superclass":"InputInlineQueryResult","fields":{"id":"String","thumbnail_url":"String","sticker_url":"String","sticker_width":"int","sticker_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultVenue":{"superclass":"InputInlineQueryResult","fields":{"id":"String","venue":"Venue","thumbnail_url":"String","thumbnail_width":"int","thumbnail_height":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultVideo":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","description":"String","thumbnail_url":"String","video_url":"String","mime_type":"String","video_width":"int","video_height":"int","video_duration":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"inputInlineQueryResultVoiceNote":{"superclass":"InputInlineQueryResult","fields":{"id":"String","title":"String","voice_note_url":"String","voice_note_duration":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}}},"InlineQueryResult":{"inlineQueryResultArticle":{"superclass":"InlineQueryResult","fields":{"id":"String","url":"String","hide_url":"bool","title":"String","description":"String","thumbnail":"PhotoSize"}},"inlineQueryResultContact":{"superclass":"InlineQueryResult","fields":{"id":"String","contact":"Contact","thumbnail":"PhotoSize"}},"inlineQueryResultLocation":{"superclass":"InlineQueryResult","fields":{"id":"String","location":"Location","title":"String","thumbnail":"PhotoSize"}},"inlineQueryResultVenue":{"superclass":"InlineQueryResult","fields":{"id":"String","venue":"Venue","thumbnail":"PhotoSize"}},"inlineQueryResultGame":{"superclass":"InlineQueryResult","fields":{"id":"String","game":"Game"}},"inlineQueryResultAnimation":{"superclass":"InlineQueryResult","fields":{"id":"String","animation":"Animation","title":"String"}},"inlineQueryResultAudio":{"superclass":"InlineQueryResult","fields":{"id":"String","audio":"Audio"}},"inlineQueryResultDocument":{"superclass":"InlineQueryResult","fields":{"id":"String","document":"Document","title":"String","description":"String"}},"inlineQueryResultPhoto":{"superclass":"InlineQueryResult","fields":{"id":"String","photo":"Photo","title":"String","description":"String"}},"inlineQueryResultSticker":{"superclass":"InlineQueryResult","fields":{"id":"String","sticker":"Sticker"}},"inlineQueryResultVideo":{"superclass":"InlineQueryResult","fields":{"id":"String","video":"Video","title":"String","description":"String"}},"inlineQueryResultVoiceNote":{"superclass":"InlineQueryResult","fields":{"id":"String","voice_note":"VoiceNote","title":"String"}}},"InlineQueryResults":{"inlineQueryResults":{"superclass":"InlineQueryResults","fields":{"inline_query_id":"int","next_offset":"String","results":"List","switch_pm_text":"String","switch_pm_parameter":"String"}}},"CallbackQueryPayload":{"callbackQueryPayloadData":{"superclass":"CallbackQueryPayload","fields":{"data":"String"}},"callbackQueryPayloadGame":{"superclass":"CallbackQueryPayload","fields":{"game_short_name":"String"}}},"CallbackQueryAnswer":{"callbackQueryAnswer":{"superclass":"CallbackQueryAnswer","fields":{"text":"String","show_alert":"bool","url":"String"}}},"CustomRequestResult":{"customRequestResult":{"superclass":"CustomRequestResult","fields":{"result":"String"}}},"GameHighScore":{"gameHighScore":{"superclass":"GameHighScore","fields":{"position":"int","user_id":"int","score":"int"}}},"GameHighScores":{"gameHighScores":{"superclass":"GameHighScores","fields":{"scores":"List"}}},"TonLiteServerResponse":{"tonLiteServerResponse":{"superclass":"TonLiteServerResponse","fields":{"response":"String"}}},"TonWalletPasswordSalt":{"tonWalletPasswordSalt":{"superclass":"TonWalletPasswordSalt","fields":{"salt":"String"}}},"ChatEventAction":{"chatEventMessageEdited":{"superclass":"ChatEventAction","fields":{"old_message":"Message","new_message":"Message"}},"chatEventMessageDeleted":{"superclass":"ChatEventAction","fields":{"message":"Message"}},"chatEventPollStopped":{"superclass":"ChatEventAction","fields":{"message":"Message"}},"chatEventMessagePinned":{"superclass":"ChatEventAction","fields":{"message":"Message"}},"chatEventMessageUnpinned":{"superclass":"ChatEventAction","fields":{}},"chatEventMemberJoined":{"superclass":"ChatEventAction","fields":{}},"chatEventMemberLeft":{"superclass":"ChatEventAction","fields":{}},"chatEventMemberInvited":{"superclass":"ChatEventAction","fields":{"user_id":"int","status":"ChatMemberStatus"}},"chatEventMemberPromoted":{"superclass":"ChatEventAction","fields":{"user_id":"int","old_status":"ChatMemberStatus","new_status":"ChatMemberStatus"}},"chatEventMemberRestricted":{"superclass":"ChatEventAction","fields":{"user_id":"int","old_status":"ChatMemberStatus","new_status":"ChatMemberStatus"}},"chatEventTitleChanged":{"superclass":"ChatEventAction","fields":{"old_title":"String","new_title":"String"}},"chatEventPermissionsChanged":{"superclass":"ChatEventAction","fields":{"old_permissions":"ChatPermissions","new_permissions":"ChatPermissions"}},"chatEventDescriptionChanged":{"superclass":"ChatEventAction","fields":{"old_description":"String","new_description":"String"}},"chatEventUsernameChanged":{"superclass":"ChatEventAction","fields":{"old_username":"String","new_username":"String"}},"chatEventPhotoChanged":{"superclass":"ChatEventAction","fields":{"old_photo":"Photo","new_photo":"Photo"}},"chatEventInvitesToggled":{"superclass":"ChatEventAction","fields":{"can_invite_users":"bool"}},"chatEventSignMessagesToggled":{"superclass":"ChatEventAction","fields":{"sign_messages":"bool"}},"chatEventStickerSetChanged":{"superclass":"ChatEventAction","fields":{"old_sticker_set_id":"int","new_sticker_set_id":"int"}},"chatEventIsAllHistoryAvailableToggled":{"superclass":"ChatEventAction","fields":{"is_all_history_available":"bool"}}},"ChatEvent":{"chatEvent":{"superclass":"ChatEvent","fields":{"id":"int","date":"int","user_id":"int","action":"ChatEventAction"}}},"ChatEvents":{"chatEvents":{"superclass":"ChatEvents","fields":{"events":"List"}}},"ChatEventLogFilters":{"chatEventLogFilters":{"superclass":"ChatEventLogFilters","fields":{"message_edits":"bool","message_deletions":"bool","message_pins":"bool","member_joins":"bool","member_leaves":"bool","member_invites":"bool","member_promotions":"bool","member_restrictions":"bool","info_changes":"bool","setting_changes":"bool"}}},"LanguagePackStringValue":{"languagePackStringValueOrdinary":{"superclass":"LanguagePackStringValue","fields":{"value":"String"}},"languagePackStringValuePluralized":{"superclass":"LanguagePackStringValue","fields":{"zero_value":"String","one_value":"String","two_value":"String","few_value":"String","many_value":"String","other_value":"String"}},"languagePackStringValueDeleted":{"superclass":"LanguagePackStringValue","fields":{}}},"LanguagePackString":{"languagePackString":{"superclass":"LanguagePackString","fields":{"key":"String","value":"LanguagePackStringValue"}}},"LanguagePackStrings":{"languagePackStrings":{"superclass":"LanguagePackStrings","fields":{"strings":"List"}}},"LanguagePackInfo":{"languagePackInfo":{"superclass":"LanguagePackInfo","fields":{"id":"String","base_language_pack_id":"String","name":"String","native_name":"String","plural_code":"String","is_official":"bool","is_rtl":"bool","is_beta":"bool","is_installed":"bool","total_string_count":"int","translated_string_count":"int","local_string_count":"int","translation_url":"String"}}},"LocalizationTargetInfo":{"localizationTargetInfo":{"superclass":"LocalizationTargetInfo","fields":{"language_packs":"List"}}},"DeviceToken":{"deviceTokenFirebaseCloudMessaging":{"superclass":"DeviceToken","fields":{"token":"String","encrypt":"bool"}},"deviceTokenApplePush":{"superclass":"DeviceToken","fields":{"device_token":"String","is_app_sandbox":"bool"}},"deviceTokenApplePushVoIP":{"superclass":"DeviceToken","fields":{"device_token":"String","is_app_sandbox":"bool","encrypt":"bool"}},"deviceTokenWindowsPush":{"superclass":"DeviceToken","fields":{"access_token":"String"}},"deviceTokenMicrosoftPush":{"superclass":"DeviceToken","fields":{"channel_uri":"String"}},"deviceTokenMicrosoftPushVoIP":{"superclass":"DeviceToken","fields":{"channel_uri":"String"}},"deviceTokenWebPush":{"superclass":"DeviceToken","fields":{"endpoint":"String","p256dh_base64url":"String","auth_base64url":"String"}},"deviceTokenSimplePush":{"superclass":"DeviceToken","fields":{"endpoint":"String"}},"deviceTokenUbuntuPush":{"superclass":"DeviceToken","fields":{"token":"String"}},"deviceTokenBlackBerryPush":{"superclass":"DeviceToken","fields":{"token":"String"}},"deviceTokenTizenPush":{"superclass":"DeviceToken","fields":{"reg_id":"String"}}},"PushReceiverId":{"pushReceiverId":{"superclass":"PushReceiverId","fields":{"id":"int"}}},"BackgroundType":{"backgroundTypeWallpaper":{"superclass":"BackgroundType","fields":{"is_blurred":"bool","is_moving":"bool"}},"backgroundTypePattern":{"superclass":"BackgroundType","fields":{"is_moving":"bool","color":"int","intensity":"int"}},"backgroundTypeSolid":{"superclass":"BackgroundType","fields":{"color":"int"}}},"Background":{"background":{"superclass":"Background","fields":{"id":"int","is_default":"bool","is_dark":"bool","name":"String","document":"Document","type":"BackgroundType"}}},"Backgrounds":{"backgrounds":{"superclass":"Backgrounds","fields":{"backgrounds":"List"}}},"InputBackground":{"inputBackgroundLocal":{"superclass":"InputBackground","fields":{"background":"InputFile"}},"inputBackgroundRemote":{"superclass":"InputBackground","fields":{"background_id":"int"}}},"Hashtags":{"hashtags":{"superclass":"Hashtags","fields":{"hashtags":"List"}}},"CheckChatUsernameResult":{"checkChatUsernameResultOk":{"superclass":"CheckChatUsernameResult","fields":{}},"checkChatUsernameResultUsernameInvalid":{"superclass":"CheckChatUsernameResult","fields":{}},"checkChatUsernameResultUsernameOccupied":{"superclass":"CheckChatUsernameResult","fields":{}},"checkChatUsernameResultPublicChatsTooMuch":{"superclass":"CheckChatUsernameResult","fields":{}},"checkChatUsernameResultPublicGroupsUnavailable":{"superclass":"CheckChatUsernameResult","fields":{}}},"PushMessageContent":{"pushMessageContentHidden":{"superclass":"PushMessageContent","fields":{"is_pinned":"bool"}},"pushMessageContentAnimation":{"superclass":"PushMessageContent","fields":{"animation":"Animation","caption":"String","is_pinned":"bool"}},"pushMessageContentAudio":{"superclass":"PushMessageContent","fields":{"audio":"Audio","is_pinned":"bool"}},"pushMessageContentContact":{"superclass":"PushMessageContent","fields":{"name":"String","is_pinned":"bool"}},"pushMessageContentContactRegistered":{"superclass":"PushMessageContent","fields":{}},"pushMessageContentDocument":{"superclass":"PushMessageContent","fields":{"document":"Document","is_pinned":"bool"}},"pushMessageContentGame":{"superclass":"PushMessageContent","fields":{"title":"String","is_pinned":"bool"}},"pushMessageContentGameScore":{"superclass":"PushMessageContent","fields":{"title":"String","score":"int","is_pinned":"bool"}},"pushMessageContentInvoice":{"superclass":"PushMessageContent","fields":{"price":"String","is_pinned":"bool"}},"pushMessageContentLocation":{"superclass":"PushMessageContent","fields":{"is_live":"bool","is_pinned":"bool"}},"pushMessageContentPhoto":{"superclass":"PushMessageContent","fields":{"photo":"Photo","caption":"String","is_secret":"bool","is_pinned":"bool"}},"pushMessageContentPoll":{"superclass":"PushMessageContent","fields":{"question":"String","is_pinned":"bool"}},"pushMessageContentScreenshotTaken":{"superclass":"PushMessageContent","fields":{}},"pushMessageContentSticker":{"superclass":"PushMessageContent","fields":{"sticker":"Sticker","emoji":"String","is_pinned":"bool"}},"pushMessageContentText":{"superclass":"PushMessageContent","fields":{"text":"String","is_pinned":"bool"}},"pushMessageContentVideo":{"superclass":"PushMessageContent","fields":{"video":"Video","caption":"String","is_secret":"bool","is_pinned":"bool"}},"pushMessageContentVideoNote":{"superclass":"PushMessageContent","fields":{"video_note":"VideoNote","is_pinned":"bool"}},"pushMessageContentVoiceNote":{"superclass":"PushMessageContent","fields":{"voice_note":"VoiceNote","is_pinned":"bool"}},"pushMessageContentBasicGroupChatCreate":{"superclass":"PushMessageContent","fields":{}},"pushMessageContentChatAddMembers":{"superclass":"PushMessageContent","fields":{"member_name":"String","is_current_user":"bool","is_returned":"bool"}},"pushMessageContentChatChangePhoto":{"superclass":"PushMessageContent","fields":{}},"pushMessageContentChatChangeTitle":{"superclass":"PushMessageContent","fields":{"title":"String"}},"pushMessageContentChatDeleteMember":{"superclass":"PushMessageContent","fields":{"member_name":"String","is_current_user":"bool","is_left":"bool"}},"pushMessageContentChatJoinByLink":{"superclass":"PushMessageContent","fields":{}},"pushMessageContentMessageForwards":{"superclass":"PushMessageContent","fields":{"total_count":"int"}},"pushMessageContentMediaAlbum":{"superclass":"PushMessageContent","fields":{"total_count":"int","has_photos":"bool","has_videos":"bool"}}},"NotificationType":{"notificationTypeNewMessage":{"superclass":"NotificationType","fields":{"message":"Message"}},"notificationTypeNewSecretChat":{"superclass":"NotificationType","fields":{}},"notificationTypeNewCall":{"superclass":"NotificationType","fields":{"call_id":"int"}},"notificationTypeNewPushMessage":{"superclass":"NotificationType","fields":{"message_id":"int","sender_user_id":"int","content":"PushMessageContent"}}},"NotificationGroupType":{"notificationGroupTypeMessages":{"superclass":"NotificationGroupType","fields":{}},"notificationGroupTypeMentions":{"superclass":"NotificationGroupType","fields":{}},"notificationGroupTypeSecretChat":{"superclass":"NotificationGroupType","fields":{}},"notificationGroupTypeCalls":{"superclass":"NotificationGroupType","fields":{}}},"Notification":{"notification":{"superclass":"Notification","fields":{"id":"int","date":"int","is_silent":"bool","type":"NotificationType"}}},"NotificationGroup":{"notificationGroup":{"superclass":"NotificationGroup","fields":{"id":"int","type":"NotificationGroupType","chat_id":"int","total_count":"int","notifications":"List"}}},"OptionValue":{"optionValueBoolean":{"superclass":"OptionValue","fields":{"value":"bool"}},"optionValueEmpty":{"superclass":"OptionValue","fields":{}},"optionValueInteger":{"superclass":"OptionValue","fields":{"value":"int"}},"optionValueString":{"superclass":"OptionValue","fields":{"value":"String"}}},"JsonObjectMember":{"jsonObjectMember":{"superclass":"JsonObjectMember","fields":{"key":"String","value":"JsonValue"}}},"JsonValue":{"jsonValueNull":{"superclass":"JsonValue","fields":{}},"jsonValueBoolean":{"superclass":"JsonValue","fields":{"value":"bool"}},"jsonValueNumber":{"superclass":"JsonValue","fields":{"value":"double"}},"jsonValueString":{"superclass":"JsonValue","fields":{"value":"String"}},"jsonValueArray":{"superclass":"JsonValue","fields":{"values":"List"}},"jsonValueObject":{"superclass":"JsonValue","fields":{"members":"List"}}},"UserPrivacySettingRule":{"userPrivacySettingRuleAllowAll":{"superclass":"UserPrivacySettingRule","fields":{}},"userPrivacySettingRuleAllowContacts":{"superclass":"UserPrivacySettingRule","fields":{}},"userPrivacySettingRuleAllowUsers":{"superclass":"UserPrivacySettingRule","fields":{"user_ids":"List"}},"userPrivacySettingRuleRestrictAll":{"superclass":"UserPrivacySettingRule","fields":{}},"userPrivacySettingRuleRestrictContacts":{"superclass":"UserPrivacySettingRule","fields":{}},"userPrivacySettingRuleRestrictUsers":{"superclass":"UserPrivacySettingRule","fields":{"user_ids":"List"}}},"UserPrivacySettingRules":{"userPrivacySettingRules":{"superclass":"UserPrivacySettingRules","fields":{"rules":"List"}}},"UserPrivacySetting":{"userPrivacySettingShowStatus":{"superclass":"UserPrivacySetting","fields":{}},"userPrivacySettingShowProfilePhoto":{"superclass":"UserPrivacySetting","fields":{}},"userPrivacySettingShowLinkInForwardedMessages":{"superclass":"UserPrivacySetting","fields":{}},"userPrivacySettingAllowChatInvites":{"superclass":"UserPrivacySetting","fields":{}},"userPrivacySettingAllowCalls":{"superclass":"UserPrivacySetting","fields":{}},"userPrivacySettingAllowPeerToPeerCalls":{"superclass":"UserPrivacySetting","fields":{}}},"AccountTtl":{"accountTtl":{"superclass":"AccountTtl","fields":{"days":"int"}}},"Session":{"session":{"superclass":"Session","fields":{"id":"int","is_current":"bool","is_password_pending":"bool","api_id":"int","application_name":"String","application_version":"String","is_official_application":"bool","device_model":"String","platform":"String","system_version":"String","log_in_date":"int","last_active_date":"int","ip":"String","country":"String","region":"String"}}},"Sessions":{"sessions":{"superclass":"Sessions","fields":{"sessions":"List"}}},"ConnectedWebsite":{"connectedWebsite":{"superclass":"ConnectedWebsite","fields":{"id":"int","domain_name":"String","bot_user_id":"int","browser":"String","platform":"String","log_in_date":"int","last_active_date":"int","ip":"String","location":"String"}}},"ConnectedWebsites":{"connectedWebsites":{"superclass":"ConnectedWebsites","fields":{"websites":"List"}}},"ChatReportSpamState":{"chatReportSpamState":{"superclass":"ChatReportSpamState","fields":{"can_report_spam":"bool"}}},"ChatReportReason":{"chatReportReasonSpam":{"superclass":"ChatReportReason","fields":{}},"chatReportReasonViolence":{"superclass":"ChatReportReason","fields":{}},"chatReportReasonPornography":{"superclass":"ChatReportReason","fields":{}},"chatReportReasonChildAbuse":{"superclass":"ChatReportReason","fields":{}},"chatReportReasonCopyright":{"superclass":"ChatReportReason","fields":{}},"chatReportReasonCustom":{"superclass":"ChatReportReason","fields":{"text":"String"}}},"PublicMessageLink":{"publicMessageLink":{"superclass":"PublicMessageLink","fields":{"link":"String","html":"String"}}},"MessageLinkInfo":{"messageLinkInfo":{"superclass":"MessageLinkInfo","fields":{"is_public":"bool","chat_id":"int","message":"Message","for_album":"bool"}}},"FilePart":{"filePart":{"superclass":"FilePart","fields":{"data":"String"}}},"FileType":{"fileTypeNone":{"superclass":"FileType","fields":{}},"fileTypeAnimation":{"superclass":"FileType","fields":{}},"fileTypeAudio":{"superclass":"FileType","fields":{}},"fileTypeDocument":{"superclass":"FileType","fields":{}},"fileTypePhoto":{"superclass":"FileType","fields":{}},"fileTypeProfilePhoto":{"superclass":"FileType","fields":{}},"fileTypeSecret":{"superclass":"FileType","fields":{}},"fileTypeSecretThumbnail":{"superclass":"FileType","fields":{}},"fileTypeSecure":{"superclass":"FileType","fields":{}},"fileTypeSticker":{"superclass":"FileType","fields":{}},"fileTypeThumbnail":{"superclass":"FileType","fields":{}},"fileTypeUnknown":{"superclass":"FileType","fields":{}},"fileTypeVideo":{"superclass":"FileType","fields":{}},"fileTypeVideoNote":{"superclass":"FileType","fields":{}},"fileTypeVoiceNote":{"superclass":"FileType","fields":{}},"fileTypeWallpaper":{"superclass":"FileType","fields":{}}},"StorageStatisticsByFileType":{"storageStatisticsByFileType":{"superclass":"StorageStatisticsByFileType","fields":{"file_type":"FileType","size":"int","count":"int"}}},"StorageStatisticsByChat":{"storageStatisticsByChat":{"superclass":"StorageStatisticsByChat","fields":{"chat_id":"int","size":"int","count":"int","by_file_type":"List"}}},"StorageStatistics":{"storageStatistics":{"superclass":"StorageStatistics","fields":{"size":"int","count":"int","by_chat":"List"}}},"StorageStatisticsFast":{"storageStatisticsFast":{"superclass":"StorageStatisticsFast","fields":{"files_size":"int","file_count":"int","database_size":"int","language_pack_database_size":"int","log_size":"int"}}},"DatabaseStatistics":{"databaseStatistics":{"superclass":"DatabaseStatistics","fields":{"statistics":"String"}}},"NetworkType":{"networkTypeNone":{"superclass":"NetworkType","fields":{}},"networkTypeMobile":{"superclass":"NetworkType","fields":{}},"networkTypeMobileRoaming":{"superclass":"NetworkType","fields":{}},"networkTypeWiFi":{"superclass":"NetworkType","fields":{}},"networkTypeOther":{"superclass":"NetworkType","fields":{}}},"NetworkStatisticsEntry":{"networkStatisticsEntryFile":{"superclass":"NetworkStatisticsEntry","fields":{"file_type":"FileType","network_type":"NetworkType","sent_bytes":"int","received_bytes":"int"}},"networkStatisticsEntryCall":{"superclass":"NetworkStatisticsEntry","fields":{"network_type":"NetworkType","sent_bytes":"int","received_bytes":"int","duration":"double"}}},"NetworkStatistics":{"networkStatistics":{"superclass":"NetworkStatistics","fields":{"since_date":"int","entries":"List"}}},"AutoDownloadSettings":{"autoDownloadSettings":{"superclass":"AutoDownloadSettings","fields":{"is_auto_download_enabled":"bool","max_photo_file_size":"int","max_video_file_size":"int","max_other_file_size":"int","preload_large_videos":"bool","preload_next_audio":"bool","use_less_data_for_calls":"bool"}}},"AutoDownloadSettingsPresets":{"autoDownloadSettingsPresets":{"superclass":"AutoDownloadSettingsPresets","fields":{"low":"AutoDownloadSettings","medium":"AutoDownloadSettings","high":"AutoDownloadSettings"}}},"ConnectionState":{"connectionStateWaitingForNetwork":{"superclass":"ConnectionState","fields":{}},"connectionStateConnectingToProxy":{"superclass":"ConnectionState","fields":{}},"connectionStateConnecting":{"superclass":"ConnectionState","fields":{}},"connectionStateUpdating":{"superclass":"ConnectionState","fields":{}},"connectionStateReady":{"superclass":"ConnectionState","fields":{}}},"TopChatCategory":{"topChatCategoryUsers":{"superclass":"TopChatCategory","fields":{}},"topChatCategoryBots":{"superclass":"TopChatCategory","fields":{}},"topChatCategoryGroups":{"superclass":"TopChatCategory","fields":{}},"topChatCategoryChannels":{"superclass":"TopChatCategory","fields":{}},"topChatCategoryInlineBots":{"superclass":"TopChatCategory","fields":{}},"topChatCategoryCalls":{"superclass":"TopChatCategory","fields":{}}},"TMeUrlType":{"tMeUrlTypeUser":{"superclass":"TMeUrlType","fields":{"user_id":"int"}},"tMeUrlTypeSupergroup":{"superclass":"TMeUrlType","fields":{"supergroup_id":"int"}},"tMeUrlTypeChatInvite":{"superclass":"TMeUrlType","fields":{"info":"ChatInviteLinkInfo"}},"tMeUrlTypeStickerSet":{"superclass":"TMeUrlType","fields":{"sticker_set_id":"int"}}},"TMeUrl":{"tMeUrl":{"superclass":"TMeUrl","fields":{"url":"String","type":"TMeUrlType"}}},"TMeUrls":{"tMeUrls":{"superclass":"TMeUrls","fields":{"urls":"List"}}},"Count":{"count":{"superclass":"Count","fields":{"count":"int"}}},"Text":{"text":{"superclass":"Text","fields":{"text":"String"}}},"Seconds":{"seconds":{"superclass":"Seconds","fields":{"seconds":"double"}}},"DeepLinkInfo":{"deepLinkInfo":{"superclass":"DeepLinkInfo","fields":{"text":"FormattedText","need_update_application":"bool"}}},"TextParseMode":{"textParseModeMarkdown":{"superclass":"TextParseMode","fields":{}},"textParseModeHTML":{"superclass":"TextParseMode","fields":{}}},"ProxyType":{"proxyTypeSocks5":{"superclass":"ProxyType","fields":{"username":"String","password":"String"}},"proxyTypeHttp":{"superclass":"ProxyType","fields":{"username":"String","password":"String","http_only":"bool"}},"proxyTypeMtproto":{"superclass":"ProxyType","fields":{"secret":"String"}}},"Proxy":{"proxy":{"superclass":"Proxy","fields":{"id":"int","server":"String","port":"int","last_used_date":"int","is_enabled":"bool","type":"ProxyType"}}},"Proxies":{"proxies":{"superclass":"Proxies","fields":{"proxies":"List"}}},"InputSticker":{"inputSticker":{"superclass":"InputSticker","fields":{"png_sticker":"InputFile","emojis":"String","mask_position":"MaskPosition"}}},"Update":{"updateAuthorizationState":{"superclass":"Update","fields":{"authorization_state":"AuthorizationState"}},"updateNewMessage":{"superclass":"Update","fields":{"message":"Message"}},"updateMessageSendAcknowledged":{"superclass":"Update","fields":{"chat_id":"int","message_id":"int"}},"updateMessageSendSucceeded":{"superclass":"Update","fields":{"message":"Message","old_message_id":"int"}},"updateMessageSendFailed":{"superclass":"Update","fields":{"message":"Message","old_message_id":"int","error_code":"int","error_message":"String"}},"updateMessageContent":{"superclass":"Update","fields":{"chat_id":"int","message_id":"int","new_content":"MessageContent"}},"updateMessageEdited":{"superclass":"Update","fields":{"chat_id":"int","message_id":"int","edit_date":"int","reply_markup":"ReplyMarkup"}},"updateMessageViews":{"superclass":"Update","fields":{"chat_id":"int","message_id":"int","views":"int"}},"updateMessageContentOpened":{"superclass":"Update","fields":{"chat_id":"int","message_id":"int"}},"updateMessageMentionRead":{"superclass":"Update","fields":{"chat_id":"int","message_id":"int","unread_mention_count":"int"}},"updateNewChat":{"superclass":"Update","fields":{"chat":"Chat"}},"updateChatTitle":{"superclass":"Update","fields":{"chat_id":"int","title":"String"}},"updateChatPhoto":{"superclass":"Update","fields":{"chat_id":"int","photo":"ChatPhoto"}},"updateChatPermissions":{"superclass":"Update","fields":{"chat_id":"int","permissions":"ChatPermissions"}},"updateChatLastMessage":{"superclass":"Update","fields":{"chat_id":"int","last_message":"Message","order":"int"}},"updateChatOrder":{"superclass":"Update","fields":{"chat_id":"int","order":"int"}},"updateChatIsPinned":{"superclass":"Update","fields":{"chat_id":"int","is_pinned":"bool","order":"int"}},"updateChatIsMarkedAsUnread":{"superclass":"Update","fields":{"chat_id":"int","is_marked_as_unread":"bool"}},"updateChatIsSponsored":{"superclass":"Update","fields":{"chat_id":"int","is_sponsored":"bool","order":"int"}},"updateChatDefaultDisableNotification":{"superclass":"Update","fields":{"chat_id":"int","default_disable_notification":"bool"}},"updateChatReadInbox":{"superclass":"Update","fields":{"chat_id":"int","last_read_inbox_message_id":"int","unread_count":"int"}},"updateChatReadOutbox":{"superclass":"Update","fields":{"chat_id":"int","last_read_outbox_message_id":"int"}},"updateChatUnreadMentionCount":{"superclass":"Update","fields":{"chat_id":"int","unread_mention_count":"int"}},"updateChatNotificationSettings":{"superclass":"Update","fields":{"chat_id":"int","notification_settings":"ChatNotificationSettings"}},"updateScopeNotificationSettings":{"superclass":"Update","fields":{"scope":"NotificationSettingsScope","notification_settings":"ScopeNotificationSettings"}},"updateChatPinnedMessage":{"superclass":"Update","fields":{"chat_id":"int","pinned_message_id":"int"}},"updateChatReplyMarkup":{"superclass":"Update","fields":{"chat_id":"int","reply_markup_message_id":"int"}},"updateChatDraftMessage":{"superclass":"Update","fields":{"chat_id":"int","draft_message":"DraftMessage","order":"int"}},"updateChatOnlineMemberCount":{"superclass":"Update","fields":{"chat_id":"int","online_member_count":"int"}},"updateNotification":{"superclass":"Update","fields":{"notification_group_id":"int","notification":"Notification"}},"updateNotificationGroup":{"superclass":"Update","fields":{"notification_group_id":"int","type":"NotificationGroupType","chat_id":"int","notification_settings_chat_id":"int","is_silent":"bool","total_count":"int","added_notifications":"List","removed_notification_ids":"List"}},"updateActiveNotifications":{"superclass":"Update","fields":{"groups":"List"}},"updateHavePendingNotifications":{"superclass":"Update","fields":{"have_delayed_notifications":"bool","have_unreceived_notifications":"bool"}},"updateDeleteMessages":{"superclass":"Update","fields":{"chat_id":"int","message_ids":"List","is_permanent":"bool","from_cache":"bool"}},"updateUserChatAction":{"superclass":"Update","fields":{"chat_id":"int","user_id":"int","action":"ChatAction"}},"updateUserStatus":{"superclass":"Update","fields":{"user_id":"int","status":"UserStatus"}},"updateUser":{"superclass":"Update","fields":{"user":"User"}},"updateBasicGroup":{"superclass":"Update","fields":{"basic_group":"BasicGroup"}},"updateSupergroup":{"superclass":"Update","fields":{"supergroup":"Supergroup"}},"updateSecretChat":{"superclass":"Update","fields":{"secret_chat":"SecretChat"}},"updateUserFullInfo":{"superclass":"Update","fields":{"user_id":"int","user_full_info":"UserFullInfo"}},"updateBasicGroupFullInfo":{"superclass":"Update","fields":{"basic_group_id":"int","basic_group_full_info":"BasicGroupFullInfo"}},"updateSupergroupFullInfo":{"superclass":"Update","fields":{"supergroup_id":"int","supergroup_full_info":"SupergroupFullInfo"}},"updateServiceNotification":{"superclass":"Update","fields":{"type":"String","content":"MessageContent"}},"updateFile":{"superclass":"Update","fields":{"file":"File"}},"updateFileGenerationStart":{"superclass":"Update","fields":{"generation_id":"int","original_path":"String","destination_path":"String","conversion":"String"}},"updateFileGenerationStop":{"superclass":"Update","fields":{"generation_id":"int"}},"updateCall":{"superclass":"Update","fields":{"call":"Call"}},"updateUserPrivacySettingRules":{"superclass":"Update","fields":{"setting":"UserPrivacySetting","rules":"UserPrivacySettingRules"}},"updateUnreadMessageCount":{"superclass":"Update","fields":{"unread_count":"int","unread_unmuted_count":"int"}},"updateUnreadChatCount":{"superclass":"Update","fields":{"unread_count":"int","unread_unmuted_count":"int","marked_as_unread_count":"int","marked_as_unread_unmuted_count":"int"}},"updateOption":{"superclass":"Update","fields":{"name":"String","value":"OptionValue"}},"updateInstalledStickerSets":{"superclass":"Update","fields":{"is_masks":"bool","sticker_set_ids":"List"}},"updateTrendingStickerSets":{"superclass":"Update","fields":{"sticker_sets":"StickerSets"}},"updateRecentStickers":{"superclass":"Update","fields":{"is_attached":"bool","sticker_ids":"List"}},"updateFavoriteStickers":{"superclass":"Update","fields":{"sticker_ids":"List"}},"updateSavedAnimations":{"superclass":"Update","fields":{"animation_ids":"List"}},"updateSelectedBackground":{"superclass":"Update","fields":{"for_dark_theme":"bool","background":"Background"}},"updateLanguagePackStrings":{"superclass":"Update","fields":{"localization_target":"String","language_pack_id":"String","strings":"List"}},"updateConnectionState":{"superclass":"Update","fields":{"state":"ConnectionState"}},"updateTermsOfService":{"superclass":"Update","fields":{"terms_of_service_id":"String","terms_of_service":"TermsOfService"}},"updateNewInlineQuery":{"superclass":"Update","fields":{"id":"int","sender_user_id":"int","user_location":"Location","query":"String","offset":"String"}},"updateNewChosenInlineResult":{"superclass":"Update","fields":{"sender_user_id":"int","user_location":"Location","query":"String","result_id":"String","inline_message_id":"String"}},"updateNewCallbackQuery":{"superclass":"Update","fields":{"id":"int","sender_user_id":"int","chat_id":"int","message_id":"int","chat_instance":"int","payload":"CallbackQueryPayload"}},"updateNewInlineCallbackQuery":{"superclass":"Update","fields":{"id":"int","sender_user_id":"int","inline_message_id":"String","chat_instance":"int","payload":"CallbackQueryPayload"}},"updateNewShippingQuery":{"superclass":"Update","fields":{"id":"int","sender_user_id":"int","invoice_payload":"String","shipping_address":"Address"}},"updateNewPreCheckoutQuery":{"superclass":"Update","fields":{"id":"int","sender_user_id":"int","currency":"String","total_amount":"int","invoice_payload":"String","shipping_option_id":"String","order_info":"OrderInfo"}},"updateNewCustomEvent":{"superclass":"Update","fields":{"event":"String"}},"updateNewCustomQuery":{"superclass":"Update","fields":{"id":"int","data":"String","timeout":"int"}},"updatePoll":{"superclass":"Update","fields":{"poll":"Poll"}}},"Updates":{"updates":{"superclass":"Updates","fields":{"updates":"List"}}},"LogStream":{"logStreamDefault":{"superclass":"LogStream","fields":{}},"logStreamFile":{"superclass":"LogStream","fields":{"path":"String","max_file_size":"int"}},"logStreamEmpty":{"superclass":"LogStream","fields":{}}},"LogVerbosityLevel":{"logVerbosityLevel":{"superclass":"LogVerbosityLevel","fields":{"verbosity_level":"int"}}},"LogTags":{"logTags":{"superclass":"LogTags","fields":{"tags":"List"}}},"TestInt":{"testInt":{"superclass":"TestInt","fields":{"value":"int"}}},"TestString":{"testString":{"superclass":"TestString","fields":{"value":"String"}}},"TestBytes":{"testBytes":{"superclass":"TestBytes","fields":{"value":"String"}}},"TestVectorInt":{"testVectorInt":{"superclass":"TestVectorInt","fields":{"value":"List"}}},"TestVectorIntObject":{"testVectorIntObject":{"superclass":"TestVectorIntObject","fields":{"value":"List"}}},"TestVectorString":{"testVectorString":{"superclass":"TestVectorString","fields":{"value":"List"}}},"TestVectorStringObject":{"testVectorStringObject":{"superclass":"TestVectorStringObject","fields":{"value":"List"}}}},"functions":{"AuthorizationState":{"getAuthorizationState":{"superclass":"AuthorizationState","fields":{}}},"Ok":{"setTdlibParameters":{"superclass":"Ok","fields":{"parameters":"TdlibParameters"}},"checkDatabaseEncryptionKey":{"superclass":"Ok","fields":{"encryption_key":"String"}},"setAuthenticationPhoneNumber":{"superclass":"Ok","fields":{"phone_number":"String","settings":"PhoneNumberAuthenticationSettings"}},"resendAuthenticationCode":{"superclass":"Ok","fields":{}},"checkAuthenticationCode":{"superclass":"Ok","fields":{"code":"String"}},"registerUser":{"superclass":"Ok","fields":{"first_name":"String","last_name":"String"}},"checkAuthenticationPassword":{"superclass":"Ok","fields":{"password":"String"}},"requestAuthenticationPasswordRecovery":{"superclass":"Ok","fields":{}},"recoverAuthenticationPassword":{"superclass":"Ok","fields":{"recovery_code":"String"}},"checkAuthenticationBotToken":{"superclass":"Ok","fields":{"token":"String"}},"logOut":{"superclass":"Ok","fields":{}},"close":{"superclass":"Ok","fields":{}},"destroy":{"superclass":"Ok","fields":{}},"setDatabaseEncryptionKey":{"superclass":"Ok","fields":{"new_encryption_key":"String"}},"removeTopChat":{"superclass":"Ok","fields":{"category":"TopChatCategory","chat_id":"int"}},"addRecentlyFoundChat":{"superclass":"Ok","fields":{"chat_id":"int"}},"removeRecentlyFoundChat":{"superclass":"Ok","fields":{"chat_id":"int"}},"clearRecentlyFoundChats":{"superclass":"Ok","fields":{}},"deleteChatHistory":{"superclass":"Ok","fields":{"chat_id":"int","remove_from_chat_list":"bool","revoke":"bool"}},"removeNotification":{"superclass":"Ok","fields":{"notification_group_id":"int","notification_id":"int"}},"removeNotificationGroup":{"superclass":"Ok","fields":{"notification_group_id":"int","max_notification_id":"int"}},"sendChatScreenshotTakenNotification":{"superclass":"Ok","fields":{"chat_id":"int"}},"deleteMessages":{"superclass":"Ok","fields":{"chat_id":"int","message_ids":"List","revoke":"bool"}},"deleteChatMessagesFromUser":{"superclass":"Ok","fields":{"chat_id":"int","user_id":"int"}},"editInlineMessageText":{"superclass":"Ok","fields":{"inline_message_id":"String","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"editInlineMessageLiveLocation":{"superclass":"Ok","fields":{"inline_message_id":"String","reply_markup":"ReplyMarkup","location":"Location"}},"editInlineMessageMedia":{"superclass":"Ok","fields":{"inline_message_id":"String","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"editInlineMessageCaption":{"superclass":"Ok","fields":{"inline_message_id":"String","reply_markup":"ReplyMarkup","caption":"FormattedText"}},"editInlineMessageReplyMarkup":{"superclass":"Ok","fields":{"inline_message_id":"String","reply_markup":"ReplyMarkup"}},"setPollAnswer":{"superclass":"Ok","fields":{"chat_id":"int","message_id":"int","option_ids":"List"}},"stopPoll":{"superclass":"Ok","fields":{"chat_id":"int","message_id":"int","reply_markup":"ReplyMarkup"}},"answerInlineQuery":{"superclass":"Ok","fields":{"inline_query_id":"int","is_personal":"bool","results":"List","cache_time":"int","next_offset":"String","switch_pm_text":"String","switch_pm_parameter":"String"}},"answerCallbackQuery":{"superclass":"Ok","fields":{"callback_query_id":"int","text":"String","show_alert":"bool","url":"String","cache_time":"int"}},"answerShippingQuery":{"superclass":"Ok","fields":{"shipping_query_id":"int","shipping_options":"List","error_message":"String"}},"answerPreCheckoutQuery":{"superclass":"Ok","fields":{"pre_checkout_query_id":"int","error_message":"String"}},"setInlineGameScore":{"superclass":"Ok","fields":{"inline_message_id":"String","edit_message":"bool","user_id":"int","score":"int","force":"bool"}},"deleteChatReplyMarkup":{"superclass":"Ok","fields":{"chat_id":"int","message_id":"int"}},"sendChatAction":{"superclass":"Ok","fields":{"chat_id":"int","action":"ChatAction"}},"openChat":{"superclass":"Ok","fields":{"chat_id":"int"}},"closeChat":{"superclass":"Ok","fields":{"chat_id":"int"}},"viewMessages":{"superclass":"Ok","fields":{"chat_id":"int","message_ids":"List","force_read":"bool"}},"openMessageContent":{"superclass":"Ok","fields":{"chat_id":"int","message_id":"int"}},"readAllChatMentions":{"superclass":"Ok","fields":{"chat_id":"int"}},"setChatTitle":{"superclass":"Ok","fields":{"chat_id":"int","title":"String"}},"setChatPhoto":{"superclass":"Ok","fields":{"chat_id":"int","photo":"InputFile"}},"setChatPermissions":{"superclass":"Ok","fields":{"chat_id":"int","permissions":"ChatPermissions"}},"setChatDraftMessage":{"superclass":"Ok","fields":{"chat_id":"int","draft_message":"DraftMessage"}},"setChatNotificationSettings":{"superclass":"Ok","fields":{"chat_id":"int","notification_settings":"ChatNotificationSettings"}},"toggleChatIsPinned":{"superclass":"Ok","fields":{"chat_id":"int","is_pinned":"bool"}},"toggleChatIsMarkedAsUnread":{"superclass":"Ok","fields":{"chat_id":"int","is_marked_as_unread":"bool"}},"toggleChatDefaultDisableNotification":{"superclass":"Ok","fields":{"chat_id":"int","default_disable_notification":"bool"}},"setChatClientData":{"superclass":"Ok","fields":{"chat_id":"int","client_data":"String"}},"setChatDescription":{"superclass":"Ok","fields":{"chat_id":"int","description":"String"}},"pinChatMessage":{"superclass":"Ok","fields":{"chat_id":"int","message_id":"int","disable_notification":"bool"}},"unpinChatMessage":{"superclass":"Ok","fields":{"chat_id":"int"}},"joinChat":{"superclass":"Ok","fields":{"chat_id":"int"}},"leaveChat":{"superclass":"Ok","fields":{"chat_id":"int"}},"addChatMember":{"superclass":"Ok","fields":{"chat_id":"int","user_id":"int","forward_limit":"int"}},"addChatMembers":{"superclass":"Ok","fields":{"chat_id":"int","user_ids":"List"}},"setChatMemberStatus":{"superclass":"Ok","fields":{"chat_id":"int","user_id":"int","status":"ChatMemberStatus"}},"clearAllDraftMessages":{"superclass":"Ok","fields":{"exclude_secret_chats":"bool"}},"setScopeNotificationSettings":{"superclass":"Ok","fields":{"scope":"NotificationSettingsScope","notification_settings":"ScopeNotificationSettings"}},"resetAllNotificationSettings":{"superclass":"Ok","fields":{}},"setPinnedChats":{"superclass":"Ok","fields":{"chat_ids":"List"}},"cancelDownloadFile":{"superclass":"Ok","fields":{"file_id":"int","only_if_pending":"bool"}},"cancelUploadFile":{"superclass":"Ok","fields":{"file_id":"int"}},"writeGeneratedFilePart":{"superclass":"Ok","fields":{"generation_id":"int","offset":"int","data":"String"}},"setFileGenerationProgress":{"superclass":"Ok","fields":{"generation_id":"int","expected_size":"int","local_prefix_size":"int"}},"finishFileGeneration":{"superclass":"Ok","fields":{"generation_id":"int","error":"Error"}},"deleteFile":{"superclass":"Ok","fields":{"file_id":"int"}},"acceptCall":{"superclass":"Ok","fields":{"call_id":"int","protocol":"CallProtocol"}},"discardCall":{"superclass":"Ok","fields":{"call_id":"int","is_disconnected":"bool","duration":"int","connection_id":"int"}},"sendCallRating":{"superclass":"Ok","fields":{"call_id":"int","rating":"int","comment":"String","problems":"List"}},"sendCallDebugInformation":{"superclass":"Ok","fields":{"call_id":"int","debug_information":"String"}},"blockUser":{"superclass":"Ok","fields":{"user_id":"int"}},"unblockUser":{"superclass":"Ok","fields":{"user_id":"int"}},"removeContacts":{"superclass":"Ok","fields":{"user_ids":"List"}},"clearImportedContacts":{"superclass":"Ok","fields":{}},"changeStickerSet":{"superclass":"Ok","fields":{"set_id":"int","is_installed":"bool","is_archived":"bool"}},"viewTrendingStickerSets":{"superclass":"Ok","fields":{"sticker_set_ids":"List"}},"reorderInstalledStickerSets":{"superclass":"Ok","fields":{"is_masks":"bool","sticker_set_ids":"List"}},"removeRecentSticker":{"superclass":"Ok","fields":{"is_attached":"bool","sticker":"InputFile"}},"clearRecentStickers":{"superclass":"Ok","fields":{"is_attached":"bool"}},"addFavoriteSticker":{"superclass":"Ok","fields":{"sticker":"InputFile"}},"removeFavoriteSticker":{"superclass":"Ok","fields":{"sticker":"InputFile"}},"addSavedAnimation":{"superclass":"Ok","fields":{"animation":"InputFile"}},"removeSavedAnimation":{"superclass":"Ok","fields":{"animation":"InputFile"}},"removeRecentHashtag":{"superclass":"Ok","fields":{"hashtag":"String"}},"setProfilePhoto":{"superclass":"Ok","fields":{"photo":"InputFile"}},"deleteProfilePhoto":{"superclass":"Ok","fields":{"profile_photo_id":"int"}},"setName":{"superclass":"Ok","fields":{"first_name":"String","last_name":"String"}},"setBio":{"superclass":"Ok","fields":{"bio":"String"}},"setUsername":{"superclass":"Ok","fields":{"username":"String"}},"checkChangePhoneNumberCode":{"superclass":"Ok","fields":{"code":"String"}},"terminateSession":{"superclass":"Ok","fields":{"session_id":"int"}},"terminateAllOtherSessions":{"superclass":"Ok","fields":{}},"disconnectWebsite":{"superclass":"Ok","fields":{"website_id":"int"}},"disconnectAllWebsites":{"superclass":"Ok","fields":{}},"setSupergroupUsername":{"superclass":"Ok","fields":{"supergroup_id":"int","username":"String"}},"setSupergroupStickerSet":{"superclass":"Ok","fields":{"supergroup_id":"int","sticker_set_id":"int"}},"toggleSupergroupSignMessages":{"superclass":"Ok","fields":{"supergroup_id":"int","sign_messages":"bool"}},"toggleSupergroupIsAllHistoryAvailable":{"superclass":"Ok","fields":{"supergroup_id":"int","is_all_history_available":"bool"}},"reportSupergroupSpam":{"superclass":"Ok","fields":{"supergroup_id":"int","user_id":"int","message_ids":"List"}},"deleteSupergroup":{"superclass":"Ok","fields":{"supergroup_id":"int"}},"closeSecretChat":{"superclass":"Ok","fields":{"secret_chat_id":"int"}},"deleteSavedOrderInfo":{"superclass":"Ok","fields":{}},"deleteSavedCredentials":{"superclass":"Ok","fields":{}},"removeBackground":{"superclass":"Ok","fields":{"background_id":"int"}},"resetBackgrounds":{"superclass":"Ok","fields":{}},"synchronizeLanguagePack":{"superclass":"Ok","fields":{"language_pack_id":"String"}},"addCustomServerLanguagePack":{"superclass":"Ok","fields":{"language_pack_id":"String"}},"setCustomLanguagePack":{"superclass":"Ok","fields":{"info":"LanguagePackInfo","strings":"List"}},"editCustomLanguagePackInfo":{"superclass":"Ok","fields":{"info":"LanguagePackInfo"}},"setCustomLanguagePackString":{"superclass":"Ok","fields":{"language_pack_id":"String","new_string":"LanguagePackString"}},"deleteLanguagePack":{"superclass":"Ok","fields":{"language_pack_id":"String"}},"processPushNotification":{"superclass":"Ok","fields":{"payload":"String"}},"setUserPrivacySettingRules":{"superclass":"Ok","fields":{"setting":"UserPrivacySetting","rules":"UserPrivacySettingRules"}},"setOption":{"superclass":"Ok","fields":{"name":"String","value":"OptionValue"}},"setAccountTtl":{"superclass":"Ok","fields":{"ttl":"AccountTtl"}},"deleteAccount":{"superclass":"Ok","fields":{"reason":"String"}},"changeChatReportSpamState":{"superclass":"Ok","fields":{"chat_id":"int","is_spam_chat":"bool"}},"reportChat":{"superclass":"Ok","fields":{"chat_id":"int","reason":"ChatReportReason","message_ids":"List"}},"setNetworkType":{"superclass":"Ok","fields":{"type":"NetworkType"}},"addNetworkStatistics":{"superclass":"Ok","fields":{"entry":"NetworkStatisticsEntry"}},"resetNetworkStatistics":{"superclass":"Ok","fields":{}},"setAutoDownloadSettings":{"superclass":"Ok","fields":{"settings":"AutoDownloadSettings","type":"NetworkType"}},"deletePassportElement":{"superclass":"Ok","fields":{"type":"PassportElementType"}},"setPassportElementErrors":{"superclass":"Ok","fields":{"user_id":"int","errors":"List"}},"checkPhoneNumberVerificationCode":{"superclass":"Ok","fields":{"code":"String"}},"checkEmailAddressVerificationCode":{"superclass":"Ok","fields":{"code":"String"}},"sendPassportAuthorizationForm":{"superclass":"Ok","fields":{"autorization_form_id":"int","types":"List"}},"checkPhoneNumberConfirmationCode":{"superclass":"Ok","fields":{"code":"String"}},"setBotUpdatesStatus":{"superclass":"Ok","fields":{"pending_update_count":"int","error_message":"String"}},"setStickerPositionInSet":{"superclass":"Ok","fields":{"sticker":"InputFile","position":"int"}},"removeStickerFromSet":{"superclass":"Ok","fields":{"sticker":"InputFile"}},"acceptTermsOfService":{"superclass":"Ok","fields":{"terms_of_service_id":"String"}},"answerCustomQuery":{"superclass":"Ok","fields":{"custom_query_id":"int","data":"String"}},"setAlarm":{"superclass":"Ok","fields":{"seconds":"double"}},"saveApplicationLogEvent":{"superclass":"Ok","fields":{"type":"String","chat_id":"int","data":"JsonValue"}},"enableProxy":{"superclass":"Ok","fields":{"proxy_id":"int"}},"disableProxy":{"superclass":"Ok","fields":{}},"removeProxy":{"superclass":"Ok","fields":{"proxy_id":"int"}},"setLogStream":{"superclass":"Ok","fields":{"log_stream":"LogStream"}},"setLogVerbosityLevel":{"superclass":"Ok","fields":{"new_verbosity_level":"int"}},"setLogTagVerbosityLevel":{"superclass":"Ok","fields":{"tag":"String","new_verbosity_level":"int"}},"addLogMessage":{"superclass":"Ok","fields":{"verbosity_level":"int","text":"String"}},"testCallEmpty":{"superclass":"Ok","fields":{}},"testNetwork":{"superclass":"Ok","fields":{}},"testProxy":{"superclass":"Ok","fields":{"server":"String","port":"int","type":"ProxyType","dc_id":"int","timeout":"double"}},"testGetDifference":{"superclass":"Ok","fields":{}}},"Updates":{"getCurrentState":{"superclass":"Updates","fields":{}}},"PasswordState":{"getPasswordState":{"superclass":"PasswordState","fields":{}},"setPassword":{"superclass":"PasswordState","fields":{"old_password":"String","new_password":"String","new_hint":"String","set_recovery_email_address":"bool","new_recovery_email_address":"String"}},"setRecoveryEmailAddress":{"superclass":"PasswordState","fields":{"password":"String","new_recovery_email_address":"String"}},"checkRecoveryEmailAddressCode":{"superclass":"PasswordState","fields":{"code":"String"}},"resendRecoveryEmailAddressCode":{"superclass":"PasswordState","fields":{}},"recoverPassword":{"superclass":"PasswordState","fields":{"recovery_code":"String"}}},"RecoveryEmailAddress":{"getRecoveryEmailAddress":{"superclass":"RecoveryEmailAddress","fields":{"password":"String"}}},"EmailAddressAuthenticationCodeInfo":{"requestPasswordRecovery":{"superclass":"EmailAddressAuthenticationCodeInfo","fields":{}},"sendEmailAddressVerificationCode":{"superclass":"EmailAddressAuthenticationCodeInfo","fields":{"email_address":"String"}},"resendEmailAddressVerificationCode":{"superclass":"EmailAddressAuthenticationCodeInfo","fields":{}}},"TemporaryPasswordState":{"createTemporaryPassword":{"superclass":"TemporaryPasswordState","fields":{"password":"String","valid_for":"int"}},"getTemporaryPasswordState":{"superclass":"TemporaryPasswordState","fields":{}}},"User":{"getMe":{"superclass":"User","fields":{}},"getUser":{"superclass":"User","fields":{"user_id":"int"}},"getSupportUser":{"superclass":"User","fields":{}}},"UserFullInfo":{"getUserFullInfo":{"superclass":"UserFullInfo","fields":{"user_id":"int"}}},"BasicGroup":{"getBasicGroup":{"superclass":"BasicGroup","fields":{"basic_group_id":"int"}}},"BasicGroupFullInfo":{"getBasicGroupFullInfo":{"superclass":"BasicGroupFullInfo","fields":{"basic_group_id":"int"}}},"Supergroup":{"getSupergroup":{"superclass":"Supergroup","fields":{"supergroup_id":"int"}}},"SupergroupFullInfo":{"getSupergroupFullInfo":{"superclass":"SupergroupFullInfo","fields":{"supergroup_id":"int"}}},"SecretChat":{"getSecretChat":{"superclass":"SecretChat","fields":{"secret_chat_id":"int"}}},"Chat":{"getChat":{"superclass":"Chat","fields":{"chat_id":"int"}},"searchPublicChat":{"superclass":"Chat","fields":{"username":"String"}},"createPrivateChat":{"superclass":"Chat","fields":{"user_id":"int","force":"bool"}},"createBasicGroupChat":{"superclass":"Chat","fields":{"basic_group_id":"int","force":"bool"}},"createSupergroupChat":{"superclass":"Chat","fields":{"supergroup_id":"int","force":"bool"}},"createSecretChat":{"superclass":"Chat","fields":{"secret_chat_id":"int"}},"createNewBasicGroupChat":{"superclass":"Chat","fields":{"user_ids":"List","title":"String"}},"createNewSupergroupChat":{"superclass":"Chat","fields":{"title":"String","is_channel":"bool","description":"String"}},"createNewSecretChat":{"superclass":"Chat","fields":{"user_id":"int"}},"upgradeBasicGroupChatToSupergroupChat":{"superclass":"Chat","fields":{"chat_id":"int"}},"joinChatByInviteLink":{"superclass":"Chat","fields":{"invite_link":"String"}}},"Message":{"getMessage":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int"}},"getMessageLocally":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int"}},"getRepliedMessage":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int"}},"getChatPinnedMessage":{"superclass":"Message","fields":{"chat_id":"int"}},"getChatMessageByDate":{"superclass":"Message","fields":{"chat_id":"int","date":"int"}},"sendMessage":{"superclass":"Message","fields":{"chat_id":"int","reply_to_message_id":"int","disable_notification":"bool","from_background":"bool","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"sendBotStartMessage":{"superclass":"Message","fields":{"bot_user_id":"int","chat_id":"int","parameter":"String"}},"sendInlineQueryResultMessage":{"superclass":"Message","fields":{"chat_id":"int","reply_to_message_id":"int","disable_notification":"bool","from_background":"bool","query_id":"int","result_id":"String","hide_via_bot":"bool"}},"sendChatSetTtlMessage":{"superclass":"Message","fields":{"chat_id":"int","ttl":"int"}},"addLocalMessage":{"superclass":"Message","fields":{"chat_id":"int","sender_user_id":"int","reply_to_message_id":"int","disable_notification":"bool","input_message_content":"InputMessageContent"}},"editMessageText":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"editMessageLiveLocation":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int","reply_markup":"ReplyMarkup","location":"Location"}},"editMessageMedia":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int","reply_markup":"ReplyMarkup","input_message_content":"InputMessageContent"}},"editMessageCaption":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int","reply_markup":"ReplyMarkup","caption":"FormattedText"}},"editMessageReplyMarkup":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int","reply_markup":"ReplyMarkup"}},"setGameScore":{"superclass":"Message","fields":{"chat_id":"int","message_id":"int","edit_message":"bool","user_id":"int","score":"int","force":"bool"}}},"Messages":{"getMessages":{"superclass":"Messages","fields":{"chat_id":"int","message_ids":"List"}},"getChatHistory":{"superclass":"Messages","fields":{"chat_id":"int","from_message_id":"int","offset":"int","limit":"int","only_local":"bool"}},"searchChatMessages":{"superclass":"Messages","fields":{"chat_id":"int","query":"String","sender_user_id":"int","from_message_id":"int","offset":"int","limit":"int","filter":"SearchMessagesFilter"}},"searchMessages":{"superclass":"Messages","fields":{"query":"String","offset_date":"int","offset_chat_id":"int","offset_message_id":"int","limit":"int"}},"searchCallMessages":{"superclass":"Messages","fields":{"from_message_id":"int","limit":"int","only_missed":"bool"}},"searchChatRecentLocationMessages":{"superclass":"Messages","fields":{"chat_id":"int","limit":"int"}},"getActiveLiveLocationMessages":{"superclass":"Messages","fields":{}},"sendMessageAlbum":{"superclass":"Messages","fields":{"chat_id":"int","reply_to_message_id":"int","disable_notification":"bool","from_background":"bool","input_message_contents":"List"}},"forwardMessages":{"superclass":"Messages","fields":{"chat_id":"int","from_chat_id":"int","message_ids":"List","disable_notification":"bool","from_background":"bool","as_album":"bool","send_copy":"bool","remove_caption":"bool"}},"resendMessages":{"superclass":"Messages","fields":{"chat_id":"int","message_ids":"List"}}},"File":{"getFile":{"superclass":"File","fields":{"file_id":"int"}},"getRemoteFile":{"superclass":"File","fields":{"remote_file_id":"String","file_type":"FileType"}},"downloadFile":{"superclass":"File","fields":{"file_id":"int","priority":"int","offset":"int","limit":"int","synchronous":"bool"}},"uploadFile":{"superclass":"File","fields":{"file":"InputFile","file_type":"FileType","priority":"int"}},"uploadStickerFile":{"superclass":"File","fields":{"user_id":"int","png_sticker":"InputFile"}},"getMapThumbnailFile":{"superclass":"File","fields":{"location":"Location","zoom":"int","width":"int","height":"int","scale":"int","chat_id":"int"}}},"Chats":{"getChats":{"superclass":"Chats","fields":{"offset_order":"int","offset_chat_id":"int","limit":"int"}},"searchPublicChats":{"superclass":"Chats","fields":{"query":"String"}},"searchChats":{"superclass":"Chats","fields":{"query":"String","limit":"int"}},"searchChatsOnServer":{"superclass":"Chats","fields":{"query":"String","limit":"int"}},"getTopChats":{"superclass":"Chats","fields":{"category":"TopChatCategory","limit":"int"}},"getCreatedPublicChats":{"superclass":"Chats","fields":{}},"getGroupsInCommon":{"superclass":"Chats","fields":{"user_id":"int","offset_chat_id":"int","limit":"int"}},"getChatNotificationSettingsExceptions":{"superclass":"Chats","fields":{"scope":"NotificationSettingsScope","compare_sound":"bool"}}},"CheckChatUsernameResult":{"checkChatUsername":{"superclass":"CheckChatUsernameResult","fields":{"chat_id":"int","username":"String"}}},"FoundMessages":{"searchSecretMessages":{"superclass":"FoundMessages","fields":{"chat_id":"int","query":"String","from_search_id":"int","limit":"int","filter":"SearchMessagesFilter"}}},"Count":{"getChatMessageCount":{"superclass":"Count","fields":{"chat_id":"int","filter":"SearchMessagesFilter","return_local":"bool"}},"getFileDownloadedPrefixSize":{"superclass":"Count","fields":{"file_id":"int","offset":"int"}},"getImportedContactCount":{"superclass":"Count","fields":{}}},"PublicMessageLink":{"getPublicMessageLink":{"superclass":"PublicMessageLink","fields":{"chat_id":"int","message_id":"int","for_album":"bool"}}},"HttpUrl":{"getMessageLink":{"superclass":"HttpUrl","fields":{"chat_id":"int","message_id":"int"}},"getEmojiSuggestionsUrl":{"superclass":"HttpUrl","fields":{"language_code":"String"}},"getBackgroundUrl":{"superclass":"HttpUrl","fields":{"name":"String","type":"BackgroundType"}},"getChatStatisticsUrl":{"superclass":"HttpUrl","fields":{"chat_id":"int","parameters":"String","is_dark":"bool"}}},"MessageLinkInfo":{"getMessageLinkInfo":{"superclass":"MessageLinkInfo","fields":{"url":"String"}}},"TextEntities":{"getTextEntities":{"superclass":"TextEntities","fields":{"text":"String"}}},"FormattedText":{"parseTextEntities":{"superclass":"FormattedText","fields":{"text":"String","parse_mode":"TextParseMode"}}},"Text":{"getFileMimeType":{"superclass":"Text","fields":{"file_name":"String"}},"getFileExtension":{"superclass":"Text","fields":{"mime_type":"String"}},"cleanFileName":{"superclass":"Text","fields":{"file_name":"String"}},"getJsonString":{"superclass":"Text","fields":{"json_value":"JsonValue"}},"getPreferredCountryLanguage":{"superclass":"Text","fields":{"country_code":"String"}},"getCountryCode":{"superclass":"Text","fields":{}},"getInviteText":{"superclass":"Text","fields":{}},"getProxyLink":{"superclass":"Text","fields":{"proxy_id":"int"}}},"LanguagePackStringValue":{"getLanguagePackString":{"superclass":"LanguagePackStringValue","fields":{"language_pack_database_path":"String","localization_target":"String","language_pack_id":"String","key":"String"}}},"JsonValue":{"getJsonValue":{"superclass":"JsonValue","fields":{"json":"String"}},"getApplicationConfig":{"superclass":"JsonValue","fields":{}}},"InlineQueryResults":{"getInlineQueryResults":{"superclass":"InlineQueryResults","fields":{"bot_user_id":"int","chat_id":"int","user_location":"Location","query":"String","offset":"String"}}},"CallbackQueryAnswer":{"getCallbackQueryAnswer":{"superclass":"CallbackQueryAnswer","fields":{"chat_id":"int","message_id":"int","payload":"CallbackQueryPayload"}}},"GameHighScores":{"getGameHighScores":{"superclass":"GameHighScores","fields":{"chat_id":"int","message_id":"int","user_id":"int"}},"getInlineGameHighScores":{"superclass":"GameHighScores","fields":{"inline_message_id":"String","user_id":"int"}}},"ChatMember":{"getChatMember":{"superclass":"ChatMember","fields":{"chat_id":"int","user_id":"int"}}},"ChatMembers":{"searchChatMembers":{"superclass":"ChatMembers","fields":{"chat_id":"int","query":"String","limit":"int","filter":"ChatMembersFilter"}},"getSupergroupMembers":{"superclass":"ChatMembers","fields":{"supergroup_id":"int","filter":"SupergroupMembersFilter","offset":"int","limit":"int"}}},"Users":{"getChatAdministrators":{"superclass":"Users","fields":{"chat_id":"int"}},"getBlockedUsers":{"superclass":"Users","fields":{"offset":"int","limit":"int"}},"getContacts":{"superclass":"Users","fields":{}},"searchContacts":{"superclass":"Users","fields":{"query":"String","limit":"int"}},"getRecentInlineBots":{"superclass":"Users","fields":{}}},"ScopeNotificationSettings":{"getScopeNotificationSettings":{"superclass":"ScopeNotificationSettings","fields":{"scope":"NotificationSettingsScope"}}},"FilePart":{"readFilePart":{"superclass":"FilePart","fields":{"file_id":"int","offset":"int","count":"int"}}},"ChatInviteLink":{"generateChatInviteLink":{"superclass":"ChatInviteLink","fields":{"chat_id":"int"}}},"ChatInviteLinkInfo":{"checkChatInviteLink":{"superclass":"ChatInviteLinkInfo","fields":{"invite_link":"String"}}},"CallId":{"createCall":{"superclass":"CallId","fields":{"user_id":"int","protocol":"CallProtocol"}}},"ImportedContacts":{"importContacts":{"superclass":"ImportedContacts","fields":{"contacts":"List"}},"changeImportedContacts":{"superclass":"ImportedContacts","fields":{"contacts":"List"}}},"UserProfilePhotos":{"getUserProfilePhotos":{"superclass":"UserProfilePhotos","fields":{"user_id":"int","offset":"int","limit":"int"}}},"Stickers":{"getStickers":{"superclass":"Stickers","fields":{"emoji":"String","limit":"int"}},"searchStickers":{"superclass":"Stickers","fields":{"emoji":"String","limit":"int"}},"getRecentStickers":{"superclass":"Stickers","fields":{"is_attached":"bool"}},"addRecentSticker":{"superclass":"Stickers","fields":{"is_attached":"bool","sticker":"InputFile"}},"getFavoriteStickers":{"superclass":"Stickers","fields":{}}},"StickerSets":{"getInstalledStickerSets":{"superclass":"StickerSets","fields":{"is_masks":"bool"}},"getArchivedStickerSets":{"superclass":"StickerSets","fields":{"is_masks":"bool","offset_sticker_set_id":"int","limit":"int"}},"getTrendingStickerSets":{"superclass":"StickerSets","fields":{}},"getAttachedStickerSets":{"superclass":"StickerSets","fields":{"file_id":"int"}},"searchInstalledStickerSets":{"superclass":"StickerSets","fields":{"is_masks":"bool","query":"String","limit":"int"}},"searchStickerSets":{"superclass":"StickerSets","fields":{"query":"String"}}},"StickerSet":{"getStickerSet":{"superclass":"StickerSet","fields":{"set_id":"int"}},"searchStickerSet":{"superclass":"StickerSet","fields":{"name":"String"}},"createNewStickerSet":{"superclass":"StickerSet","fields":{"user_id":"int","title":"String","name":"String","is_masks":"bool","stickers":"List"}},"addStickerToSet":{"superclass":"StickerSet","fields":{"user_id":"int","name":"String","sticker":"InputSticker"}}},"Emojis":{"getStickerEmojis":{"superclass":"Emojis","fields":{"sticker":"InputFile"}},"searchEmojis":{"superclass":"Emojis","fields":{"text":"String","exact_match":"bool"}}},"Animations":{"getSavedAnimations":{"superclass":"Animations","fields":{}}},"Hashtags":{"searchHashtags":{"superclass":"Hashtags","fields":{"prefix":"String","limit":"int"}}},"WebPage":{"getWebPagePreview":{"superclass":"WebPage","fields":{"text":"FormattedText"}}},"WebPageInstantView":{"getWebPageInstantView":{"superclass":"WebPageInstantView","fields":{"url":"String","force_full":"bool"}}},"AuthenticationCodeInfo":{"changePhoneNumber":{"superclass":"AuthenticationCodeInfo","fields":{"phone_number":"String","settings":"PhoneNumberAuthenticationSettings"}},"resendChangePhoneNumberCode":{"superclass":"AuthenticationCodeInfo","fields":{}},"sendPhoneNumberVerificationCode":{"superclass":"AuthenticationCodeInfo","fields":{"phone_number":"String","settings":"PhoneNumberAuthenticationSettings"}},"resendPhoneNumberVerificationCode":{"superclass":"AuthenticationCodeInfo","fields":{}},"sendPhoneNumberConfirmationCode":{"superclass":"AuthenticationCodeInfo","fields":{"hash":"String","phone_number":"String","settings":"PhoneNumberAuthenticationSettings"}},"resendPhoneNumberConfirmationCode":{"superclass":"AuthenticationCodeInfo","fields":{}}},"Sessions":{"getActiveSessions":{"superclass":"Sessions","fields":{}}},"ConnectedWebsites":{"getConnectedWebsites":{"superclass":"ConnectedWebsites","fields":{}}},"ChatEvents":{"getChatEventLog":{"superclass":"ChatEvents","fields":{"chat_id":"int","query":"String","from_event_id":"int","limit":"int","filters":"ChatEventLogFilters","user_ids":"List"}}},"PaymentForm":{"getPaymentForm":{"superclass":"PaymentForm","fields":{"chat_id":"int","message_id":"int"}}},"ValidatedOrderInfo":{"validateOrderInfo":{"superclass":"ValidatedOrderInfo","fields":{"chat_id":"int","message_id":"int","order_info":"OrderInfo","allow_save":"bool"}}},"PaymentResult":{"sendPaymentForm":{"superclass":"PaymentResult","fields":{"chat_id":"int","message_id":"int","order_info_id":"String","shipping_option_id":"String","credentials":"InputCredentials"}}},"PaymentReceipt":{"getPaymentReceipt":{"superclass":"PaymentReceipt","fields":{"chat_id":"int","message_id":"int"}}},"OrderInfo":{"getSavedOrderInfo":{"superclass":"OrderInfo","fields":{}}},"Backgrounds":{"getBackgrounds":{"superclass":"Backgrounds","fields":{"for_dark_theme":"bool"}}},"Background":{"searchBackground":{"superclass":"Background","fields":{"name":"String"}},"setBackground":{"superclass":"Background","fields":{"background":"InputBackground","type":"BackgroundType","for_dark_theme":"bool"}}},"LocalizationTargetInfo":{"getLocalizationTargetInfo":{"superclass":"LocalizationTargetInfo","fields":{"only_local":"bool"}}},"LanguagePackInfo":{"getLanguagePackInfo":{"superclass":"LanguagePackInfo","fields":{"language_pack_id":"String"}}},"LanguagePackStrings":{"getLanguagePackStrings":{"superclass":"LanguagePackStrings","fields":{"language_pack_id":"String","keys":"List"}}},"PushReceiverId":{"registerDevice":{"superclass":"PushReceiverId","fields":{"device_token":"DeviceToken","other_user_ids":"List"}},"getPushReceiverId":{"superclass":"PushReceiverId","fields":{"payload":"String"}}},"TMeUrls":{"getRecentlyVisitedTMeUrls":{"superclass":"TMeUrls","fields":{"referrer":"String"}}},"UserPrivacySettingRules":{"getUserPrivacySettingRules":{"superclass":"UserPrivacySettingRules","fields":{"setting":"UserPrivacySetting"}}},"OptionValue":{"getOption":{"superclass":"OptionValue","fields":{"name":"String"}}},"AccountTtl":{"getAccountTtl":{"superclass":"AccountTtl","fields":{}}},"ChatReportSpamState":{"getChatReportSpamState":{"superclass":"ChatReportSpamState","fields":{"chat_id":"int"}}},"StorageStatistics":{"getStorageStatistics":{"superclass":"StorageStatistics","fields":{"chat_limit":"int"}},"optimizeStorage":{"superclass":"StorageStatistics","fields":{"size":"int","ttl":"int","count":"int","immunity_delay":"int","file_types":"List","chat_ids":"List","exclude_chat_ids":"List","chat_limit":"int"}}},"StorageStatisticsFast":{"getStorageStatisticsFast":{"superclass":"StorageStatisticsFast","fields":{}}},"DatabaseStatistics":{"getDatabaseStatistics":{"superclass":"DatabaseStatistics","fields":{}}},"NetworkStatistics":{"getNetworkStatistics":{"superclass":"NetworkStatistics","fields":{"only_current":"bool"}}},"AutoDownloadSettingsPresets":{"getAutoDownloadSettingsPresets":{"superclass":"AutoDownloadSettingsPresets","fields":{}}},"PassportElement":{"getPassportElement":{"superclass":"PassportElement","fields":{"type":"PassportElementType","password":"String"}},"setPassportElement":{"superclass":"PassportElement","fields":{"element":"InputPassportElement","password":"String"}}},"PassportElements":{"getAllPassportElements":{"superclass":"PassportElements","fields":{"password":"String"}}},"PassportAuthorizationForm":{"getPassportAuthorizationForm":{"superclass":"PassportAuthorizationForm","fields":{"bot_user_id":"int","scope":"String","public_key":"String","nonce":"String"}}},"PassportElementsWithErrors":{"getPassportAuthorizationFormAvailableElements":{"superclass":"PassportElementsWithErrors","fields":{"autorization_form_id":"int","password":"String"}}},"CustomRequestResult":{"sendCustomRequest":{"superclass":"CustomRequestResult","fields":{"method":"String","parameters":"String"}}},"TonLiteServerResponse":{"sendTonLiteServerRequest":{"superclass":"TonLiteServerResponse","fields":{"request":"String"}}},"TonWalletPasswordSalt":{"getTonWalletPasswordSalt":{"superclass":"TonWalletPasswordSalt","fields":{}}},"DeepLinkInfo":{"getDeepLinkInfo":{"superclass":"DeepLinkInfo","fields":{"link":"String"}}},"Proxy":{"addProxy":{"superclass":"Proxy","fields":{"server":"String","port":"int","enable":"bool","type":"ProxyType"}},"editProxy":{"superclass":"Proxy","fields":{"proxy_id":"int","server":"String","port":"int","enable":"bool","type":"ProxyType"}}},"Proxies":{"getProxies":{"superclass":"Proxies","fields":{}}},"Seconds":{"pingProxy":{"superclass":"Seconds","fields":{"proxy_id":"int"}}},"LogStream":{"getLogStream":{"superclass":"LogStream","fields":{}}},"LogVerbosityLevel":{"getLogVerbosityLevel":{"superclass":"LogVerbosityLevel","fields":{}},"getLogTagVerbosityLevel":{"superclass":"LogVerbosityLevel","fields":{"tag":"String"}}},"LogTags":{"getLogTags":{"superclass":"LogTags","fields":{}}},"TestString":{"testCallString":{"superclass":"TestString","fields":{"x":"String"}}},"TestBytes":{"testCallBytes":{"superclass":"TestBytes","fields":{"x":"String"}}},"TestVectorInt":{"testCallVectorInt":{"superclass":"TestVectorInt","fields":{"x":"List"}}},"TestVectorIntObject":{"testCallVectorIntObject":{"superclass":"TestVectorIntObject","fields":{"x":"List"}}},"TestVectorString":{"testCallVectorString":{"superclass":"TestVectorString","fields":{"x":"List"}}},"TestVectorStringObject":{"testCallVectorStringObject":{"superclass":"TestVectorStringObject","fields":{"x":"List"}}},"TestInt":{"testSquareInt":{"superclass":"TestInt","fields":{"x":"int"}}},"Update":{"testUseUpdate":{"superclass":"Update","fields":{}}},"Error":{"testReturnError":{"superclass":"Error","fields":{"error":"Error"}}}}} --------------------------------------------------------------------------------