Coder Social home page Coder Social logo

ivk1800 / telegram-flutter Goto Github PK

View Code? Open in Web Editor NEW
56.0 3.0 15.0 3.5 MB

(WIP) Telegram client written in Dart and uses Flutter.

License: GNU General Public License v3.0

Java 0.01% Objective-C 0.01% Dart 96.68% HTML 0.10% CMake 1.17% C++ 1.40% C 0.09% Ruby 0.18% Swift 0.11% Shell 0.18% Batchfile 0.07%
dart flutter td telegram tdlib tdlib-dart

telegram-flutter's Introduction

(WIP) Telegram client written in Dart and uses Flutter.


Work in progress! Some code needs refactoring as it was written in haste. Somewhere left TODO and somewhere as it is. Some screens have partial functionality, because in order not to block the work, what is there is enough. For example, the authorization screen does not support password authorization. The architecture in the application is multi-modular, there are a lot of modules, this architecture has features and disadvantages. We won’t know about the disadvantages until we try it in practice!

Preferred flutter version: stable, 3.16.3

TdLib version: 1.8.11 1543c41

Supported platform

Platform Status
Android
iOS
MacOS
Windows
Linux
Web TBD

Getting started

  1. Download prebuild TbLib for your platform from page
  2. Place binaries to tdlib to the repo folder:

For Android:

└── tdlib 
    └── android 
        └── arm64-v8a
        │   └── libtdjsonandroid.so
        └── armeabi-v7a
        │   └── libtdjsonandroid.so
        └── x86
        │   └── libtdjsonandroid.so
        └── x86_64
            └── libtdjsonandroid.so

For iOS:

└── tdlib 
    └── ios 
        └── libtdjson.dylib

For MacOS:

└── tdlib 
    └── macos 
        └── libtdjson.dylib

For Windows:

└── tdlib 
    └── windows 
        └── libcrypto-1_1.dll
        └── libssl-1_1.dll
        └── tdjson.dll
        └── zlib1.dll
  1. Obtain api_id and api_hash at https://my.telegram.org
  2. Create file config.txt with content in assets:
└── app 
    └── assets 
        └── tdlib
            └── config.txt

Content:

apiId:<api_id>
apiHash:<api_hash>
useTestDc:<true/false>
  1. cd <repo folder>
  2. cd tools/tools-project/ && dart pub get && cd ../..
  3. ./tools/packages_get.sh
  4. ./tools/gen.sh
  5. cd launch/ && flutter run

telegram-flutter's People

Contributors

altynbek132 avatar ivk1800 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

telegram-flutter's Issues

return result.unitWithPath(element.source.fullName)?.unit;

PS C:\Users\yzx\Downloads\telegram-flutter-master\telegram-flutter-master\tools> .\gen.bat
run gen
start: app
start: app_controller
start: chat_actions_panel
start: chat_kit
1/39: chat_actions_panel
start: core_presentation
2/39: app_controller
start: core_ui_jugger
3/39: chat_kit
start: coreui
Waiting for another flutter command to release the startup lock...

Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!

Failed to build build_runner:build_runner:
../../../../AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/build_resolvers-2.2.0/lib/src/resolver.dart:195:25: Error: The method 'unitWithPath' isn't defined for the class 'ResolvedL
ibraryResult'.

  • 'ResolvedLibraryResult' is from 'package:analyzer/dart/analysis/results.dart' ('../../../../AppData/Local/Pub/Cache/hosted/pub.flutter-io.cn/analyzer-5.2.0/lib/dart/analysis/results
    .dart').
    Try correcting the name to the name of an existing method, or defining a method named 'unitWithPath'.
    return result.unitWithPath(element.source.fullName)?.unit;
    ^^^^^^^^^^^^

pub finished with exit code 1
Unhandled exception:
command finished with exit code 1

flutter 3.7.7
dart 2.19.4

ld: warning: building for macOS-x86_64 but attempting to link with file built for macOS-arm64

ld: warning: ignoring file /Users/owaf/Dart/app/telegram-flutter/tdlib/macos/libtdjson.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64
warning: Run script build phase 'Run Script' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'Flutter Assemble' from project 'Runner')

here is my env

❯ flutter doctor     
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.10.2, on macOS 13.3.1 22E772610a darwin-arm64, locale zh-Hans-CN)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] VS Code (version 1.78.2)
[✓] Connected device (2 available)
[✓] Network resources

Error parse UpdateInstalledStickerSets

E/flutter (27627): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type '_OneByteString' is not a subtype of type 'int'
E/flutter (27627): #0      new List.from (dart:core-patch/array_patch.dart:40)
E/flutter (27627): #1      UpdateInstalledStickerSets.fromJson (package:tdlib/src/api/objects/update_installed_sticker_sets.dart:23)
E/flutter (27627): #2      ConvertExtensions.toTdObject (package:tdlib/src/api/extensions/convert_extensions.dart:1856)
E/flutter (27627): #3      Client.create.<anonymous closure> (package:tdlib/src/client/client.dart:61)
E/flutter (27627): #4      _rootRunUnary (dart:async/zone.dart:1444)
E/flutter (27627): #5      _CustomZone.runUnary (dart:async/zone.dart:1335)
E/flutter (27627): #6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244)
E/flutter (27627): #7      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341)
E/flutter (27627): #8      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271)
E/flutter (27627): #9      _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:733)
E/flutter (27627): #10     _StreamController._add (dart:async/stream_controller.dart:607)
E/flutter (27627): #11     _StreamController.add (dart:async/stream_controller.dart:554)
E/flutter (27627): #12     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184)
E/flutter (27627): 
E/flutter (27627): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: type '_OneByteString' is not a subtype of type 'int'
E/flutter (27627): #0      new List.from (dart:core-patch/array_patch.dart:40)
E/flutter (27627): #1      UpdateInstalledStickerSets.fromJson (package:tdlib/src/api/objects/update_installed_sticker_sets.dart:23)
E/flutter (27627): #2      ConvertExtensions.toTdObject (package:tdlib/src/api/extensions/convert_extensions.dart:1856)
E/flutter (27627): #3      Client.create.<anonymous closure> (package:tdlib/src/client/client.dart:61)
E/flutter (27627): #4      _rootRunUnary (dart:async/zone.dart:1444)
E/flutter (27627): #5      _CustomZone.runUnary (dart:async/zone.dart:1335)
E/flutter (27627): #6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1244)
E/flutter (27627): #7      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:341)
E/flutter (27627): #8      _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271)
E/flutter (27627): #9      _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:733)
E/flutter (27627): #10     _StreamController._add (dart:async/stream_controller.dart:607)
E/flutter (27627): #11     _StreamController.add (dart:async/stream_controller.dart:554)
E/flutter (27627): #12     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184)

Is there any detailed documentation

The structure of this project is very troublesome. Is there any flutter official standard code for each platform in the corresponding directory?

[email protected]: Permission denied (publickey).

Git error. Command: `git clone --mirror [email protected]:ivk1800/tdlib-dart.git C:\Users\widia\AppData\Local\Pub\Cache\git\cache\tdlib-dart-2eaf55b46c67699fc79c5decea6537047edbb34d`
stdout:
stderr: Cloning into bare repository 'C:\Users\widia\AppData\Local\Pub\Cache\git\cache\tdlib-dart-2eaf55b46c67699fc79c5decea6537047edbb34d'...
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
exit code: 128

./tools/packages_get.sh stop?

Mac book M1

stop anytime
how to so

./tools/packages_get.sh
telegram-flutter-master % ./tools/packages_get.sh

packages_get...
run packages get
start: app
start: app_controller
start: async_utils
start: auth_manager_api
1/127: async_utils
start: auth_manager_impl
failed: auth_manager_api
2/127: auth_manager_api
start: block_interaction_api
failed: auth_manager_impl
3/127: auth_manager_impl
start: chat_actions_panel
4/127: block_interaction_api
start: chat_forum_navigation_api
5/127: chat_forum_navigation_api
start: chat_info
failed: app_controller
6/127: app_controller
start: chat_kit
failed: chat_info
7/127: chat_info
start: chat_list_theme
8/127: chat_list_theme
start: chat_list_ui_kit
9/127: chat_list_ui_kit
start: chat_manager_api
10/127: chat_manager_api
start: chat_manager_impl
failed: chat_manager_impl
11/127: chat_manager_impl
start: chat_navigation_api
12/127: chat_navigation_api
start: chat_theme
13/127: chat_theme
start: contacts_manager_api
failed: contacts_manager_api
14/127: contacts_manager_api
start: contacts_manager_impl
failed: contacts_manager_impl
15/127: contacts_manager_impl
start: core

Could not build the application for the simulator.

telegram-flutter on  master [!?] 
❯ cd launch/ && flutter run
Launching lib/main.dart on iPhone 14 Pro Max in debug mode...
Warning: Missing build name (CFBundleShortVersionString).
Warning: Missing build number (CFBundleVersion).
Action Required: You must set a build name and number in the pubspec.yaml file version field before submitting to the App Store.
Running pod install...                                           1,004ms
Running Xcode build...                                                  
 └─Compiling, linking and signing...                      2,171ms
Xcode build done.                                           35.4s
Failed to build iOS app
Error (Xcode): Building for iOS Simulator, but linking in dylib built for iOS, file
'/Users/owaf/Dart/app/telegram-flutter/tdlib/ios/libtdjson.dylib' for architecture arm64


Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)


Could not build the application for the simulator.
Error launching application on iPhone 14 Pro Max.

hi, there is a error with the ios simulator. my laptop is macbook air m1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.