diff --git a/build.html b/build.html index 1c18955b..68a72cd7 100644 --- a/build.html +++ b/build.html @@ -28,6 +28,7 @@ select.large { font-size: large; } + @@ -167,9 +168,11 @@ function getSupportedOs(language) { return ['Windows (Node.js)', 'Linux (Node.js)', 'macOS (Node.js)', 'FreeBSD (Node.js)', 'OpenBSD (Node.js)', 'NetBSD (Node.js)', 'Browser']; case 'Java': case 'Kotlin': - return ['Windows', 'Linux', 'macOS', 'FreeBSD', 'OpenBSD', 'Android']; + return ['Android', 'Windows', 'Linux', 'macOS', 'FreeBSD', 'OpenBSD']; case 'C#': return ['Windows (through C++/CLI)', 'Universal Windows Platform (through C++/CX)', 'Windows (.Net Core)', 'Linux (.Net Core)', 'macOS (.Net Core)', 'FreeBSD (.Net Core)']; + case 'Dart': + return ['Android', 'iOS', 'Windows', 'Linux', 'macOS', 'tvOS', 'watchOS']; case 'Swift': case 'Objective-C': return ['Windows', 'Linux', 'macOS', 'iOS', 'tvOS', 'watchOS']; @@ -187,6 +190,7 @@ function getExampleAnchor(language) { case 'Kotlin': case 'Swift': case 'Objective-C': + case 'Dart': case 'Rust': case 'Erlang': case 'PHP': diff --git a/example/README.md b/example/README.md index f40da34c..c33d7612 100644 --- a/example/README.md +++ b/example/README.md @@ -18,6 +18,7 @@ Choose your preferred programming language to see examples of usage and a detail - [C++](#cxx) - [Swift](#swift) - [Objective-C](#objective-c) +- [Dart](#dart) - [Rust](#rust) - [Erlang](#erlang) - [PHP](#php) @@ -42,7 +43,7 @@ If you use modern Python >= 3.6, take a look at [python-telegram](https://github The wrapper uses the full power of asyncio, has a good documentation and has several examples. It can be installed through pip or used in a Docker container. You can also try a fork [python-telegram](https://github.com/iTeam-co/python-telegram) of this library. -For older Python versions you can use [demo-pytdlib](https://github.com/i-Naji/demo-pytdlib) or [python-tdlib](https://github.com/andrew-ld/python-tdlib). +For older Python versions you can use [pytdlib](https://github.com/pytdlib/pytdlib) or [python-tdlib](https://github.com/andrew-ld/python-tdlib). These wrappers contain generators for TDLib API classes and basic classes for interaction with TDLib. You can also check out [example/python/tdjson_example.py](https://github.com/tdlib/td/tree/master/example/python/tdjson_example.py) and @@ -57,10 +58,10 @@ and [telegram-react](https://github.com/evgeny-nadymov/telegram-react) as an exa TDLib can be used from Node.js through the [JSON](https://github.com/tdlib/td#using-json) interface. Convenient Node.js wrappers already exist for our JSON interface. -For example, take a look at [tdl](https://github.com/Bannerets/tdl), which provides a convenient, fully-asynchronous interface for interaction with TDLib and contains a bunch of examples, or -at [Airgram](https://github.com/airgram/airgram) - modern TDLib framework for TypeScript/JavaScript. +For example, take a look at [Airgram](https://github.com/airgram/airgram) – modern TDLib framework for TypeScript/JavaScript, or +at [tdl](https://github.com/Bannerets/tdl), which provides a convenient, fully-asynchronous interface for interaction with TDLib and contains a bunch of examples. -You can also see [node-tdlib](https://github.com/wfjsw/node-tdlib), [tdlnode](https://github.com/fonbah/tdlnode), [tglib](https://github.com/nodegin/tglib), +You can also see [tglib](https://github.com/nodegin/tglib), [node-tdlib](https://github.com/wfjsw/node-tdlib), [tdlnode](https://github.com/fonbah/tdlnode), [Paper Plane](https://github.com/BlackSuited/paper-plane) and [node-tlg](https://github.com/dilongfa/node-tlg) for other examples of TDLib JSON interface integration with Node.js. TDLib can be used also from NativeScript through the [JSON](https://github.com/tdlib/td#using-json) interface. @@ -105,14 +106,14 @@ If you want to write a cross-platform C# application using .Net Core, see [tdsha provides an asynchronous interface for interaction with TDLib, automatically generated classes for TDLib API and has some examples. Also see [Unigram](https://github.com/UnigramDev/Unigram), which is a full-featured client rewritten from scratch in C# using TDLib SDK for Universal Windows Platform in less than 2 months, or -[egram.tel](https://github.com/egramtel/egram.tel) - a cross-platform Telegram client written in C#, .NET Core, ReactiveUI and Avalonia. +[egram.tel](https://github.com/egramtel/egram.tel) – a cross-platform Telegram client written in C#, .NET Core, ReactiveUI and Avalonia. ## Using TDLib in C++ projects TDLib has a simple and convenient C++11-interface for sending and receiving requests and can be statically linked to your application. -See [example/cpp](https://github.com/tdlib/td/tree/master/example/cpp) for examples of TDLib usage from C++. +See [example/cpp](https://github.com/tdlib/td/tree/master/example/cpp) for an example of TDLib usage from C++. [td_example.cpp](https://github.com/tdlib/td/tree/master/example/cpp/td_example.cpp) contains an example of authorization, processing new incoming messages, getting a list of chats and sending a text message. See also the source code of [Depecher](https://github.com/blacksailer/depecher) – a Telegram app for Sailfish OS, and [TELEports](https://gitlab.com/ubports/apps/teleports) – a Qt-client for Ubuntu Touch, both of which are based on TDLib. @@ -122,6 +123,8 @@ See also the source code of [Depecher](https://github.com/blacksailer/depecher) TDLib can be used from the Swift programming language through the [JSON](https://github.com/tdlib/td#using-json) interface and can be linked statically or dynamically. +See [TDLib-iOS](https://github.com/leoMehlig/TDLib-iOS), which provide a convenient TDLib client with automatically generated and fully-documented classes for all TDLib API methods and objects. + See [example/swift](https://github.com/tdlib/td/tree/master/example/swift) for an example of a macOS Swift application. See [example/ios](https://github.com/tdlib/td/tree/master/example/ios) for an example of building TDLib for iOS, watchOS, tvOS, and macOS. @@ -132,13 +135,22 @@ TDLib can be used from the Objective-C programming language through [JSON](https See [example/ios](https://github.com/tdlib/td/tree/master/example/ios) for an example of building TDLib for iOS, watchOS, tvOS, and macOS. + +## Using TDLib in Dart projects + +TDLib can be used from the Dart programming language through the [JSON](https://github.com/tdlib/td#using-json) interface and a Dart Native Extension or Dart FFI. + +See [dart_tdlib](https://github.com/periodicaidan/dart_tdlib) or [Dart wrapper for TDLib](https://github.com/tdlib/td/pull/566/commits/cbe26809aa674bf71aa17bb781d5bf6a6e6fbd38) for an example of a TDLib Dart bindings through FFI. + +See [project.scarlet](https://github.com/aaugmentum/project.scarlet) or [tdlib-dart](https://github.com/triedcatched/tdlib-dart) for an example of using TDLib from Dart. + ## Using TDLib in Rust projects TDLib can be used from the Rust programming language through the [JSON](https://github.com/tdlib/td#using-json) interface. -See [tdlib-rs](https://github.com/d653/tdlib-rs), [tdlib-futures](https://github.com/yuri91/tdlib-futures), [rust-tdlib](https://github.com/lattenwald/rust-tdlib) or -[tdjson-rs](https://github.com/mersinvald/tdjson-rs) for an example of TDLib Rust bindings. +See [rtdlib](https://github.com/fewensa/rtdlib), [tdlib-rs](https://github.com/d653/tdlib-rs), [tdlib-futures](https://github.com/yuri91/tdlib-futures), +[rust-tdlib](https://github.com/lattenwald/rust-tdlib) or [tdjson-rs](https://github.com/mersinvald/tdjson-rs) for an example of TDLib Rust bindings. ## Using TDLib in Erlang projects @@ -153,7 +165,7 @@ See [erl-tdlib](https://github.com/lattenwald/erl-tdlib) for an example of TDLib TDLib can be used from the PHP programming language by wrapping its functionality in a PHP extension. See [phptdlib](https://github.com/yaroslavche/phptdlib) or [PIF-TDPony](https://github.com/danog/pif-tdpony) for examples of such extensions which provide access to TDLib from PHP. -See [tdlib-bundle](https://github.com/yaroslavche/tdlib-bundle) - a Symfony bundle based on [phptdlib](https://github.com/yaroslavche/phptdlib). +See [tdlib-bundle](https://github.com/yaroslavche/tdlib-bundle) – a Symfony bundle based on [phptdlib](https://github.com/yaroslavche/phptdlib). ## Using TDLib in Lua projects