mtproto 0.0.1 mtproto: ^0.0.1 copied to clipboard
A library mtproto for interact with telegram api on dart and flutter support cross platform client side and server side.
Telegram Client library #
Fast, Enjoyable & Customizable Telegram Client
Telegram client dart library untuk membuat telegram based flutter bot userbot bisa di server side dan client side, library ini 100% mudah di gunakan untuk membuat multi client sekaligus karena di library Telegram Client ini kamu hanya perlu memanggil fungsi saja dan update automatis akan di terima di event emitter
Features #
- 🚀 Cross platform: mobile, desktop, browser, server
- ⚡ Performance Bagus Dan Effisien
- ❤️ Simple, powerful, & intuitive API
Quick Review #
Video singkat cara menggunakan library ini untuk membuat project yang ingin anda bikin dengan template yang sudah saya buat.
1. Create And Run Application
2. Create And Run Telegram Userbot Tdlib
3. Create And Run Telegram Bot Api
Examples App use Telegram Client #
- Azkagram
Telegram Application dengan menambahkan design baru serta fitur userbot dan fitur lain yang tidak di sediakan secara resmi oleh telegram project ini sudah di close source code karena banyak yang berusaha membuat app ini untuk melakukan tindakan kriminal (spam, scam), Jika anda ingin membuat silahkan pelajari library ini.
- GLX Socmed
Examples Bot use Telegram Client #
- AzkadevBot Telegram bot Berbayar complex yang bisa menghandle banyak group, ch, private, dengan banyak fitur payment gateway, Automation Store, clone userbot bot, dibikin dengan library ini tanpa campur bahasa code lain, Bot ini berjalan hanya menggunakan < 100mb di server sangat ringan karena menggunakan dart
Install Library #
- Install Library
dart pub add telegram_client
- For Flutter
flutter pub add telegram_client telegram_client_flutter telegram_bot_api_flutter
- Cli
dart pub global activate telegram_client
- Setup
Setup automatis agar kamu tidak ribet compile tdlib, telegram-bot-api
telegram_client setup -f
Add Library #
import 'package:telegram_client/telegram_client.dart';
Use Template Agar Cepat Selesai #
telegram_client create name_project --template telegram_bot_tdlib_template
Docs #
Library Feature #
-
telegram client dart
- ✅️ support server side & client side
- ✅️ support multi token ( bot / userbot )
- ✅️ support bot and userbot
- ✅️ support telegram-bot-api (local / Bot-Api
- ✅️ Support long poll update bot api
- ✅️ Support telegram database library ( TDLIB )
- ✅️ Add more Api Humanize pretty update and method api humanize
- ✅️ Easy handle multi client
-
telegram client node
tidak di urus lagi- ✅️ support server side & client side
- ✅️ support multi token ( bot / userbot )
- ✅️ support bot and userbot
- ✅️ support telegram-bot-api local server
- ✅️ support telegram database library ( TDLIB )
- ✅️ Add more Api Humanize pretty update and method api humanize
-
telegram client google apps script
tidak di urus lagi- ✅️ support multi token ( bot / userbot )
- ✅️ support bot and userbot
- ❌️ support telegram-bot-api local server
- ❌️ support telegram database library ( Tdlib )
Add library on project #
Jika anda ingin menggunakan library ini pastikan anda sudah bisa mengcompile tdlib ya
- Automatis Jika anda tidak tahu cara mengcompile gunakan ini
flutter pub add telegram_client_flutter
- Manual
Untuk menambahkan library kamu wajib mengcompile ke platform yang ingin kamu buat Build Tdlib
Android #
Copy .so
files from archive to example/android/app/main/jniLibs
:
└── example
└── android
└── app
└── main
└── jniLibs
└── arm64-v8a
│ └── libtdjson.so
└── armeabi-v7a
│ └── libtdjson.so
└── x86
│ └── libtdjson.so
└── x86_64
└── libtdjson.so
Open file example/android/app/build.gradle
replace
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
by
sourceSets {
main {
java.srcDirs += 'src/main/kotlin'
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
iOS and macOS #
- Copy
libtdjson.dylib
from archive toexample/ios
- Copy
libtdjson.dylib
from archive toexample/macos
└── example
└── ios
│ └── libtdjson.dylib
└── macos
└── libtdjson.dylib
- Open
Runner.xcworkspace
in Xcode. - Add
.dylib
file to project. - Find
Frameworks, Libraries, and EmbeddedContent
. - Against
libtdjson.dylib
chooseEmbed & Sign
. - Find
Signing & Capabilities
. - In Section
App Sandbox (Debug and Profile)
set trueOutgoing Connections (Client)
.
Windows #
- Copy files from archive to
example/windows/tdlib
└── example
└── windows
└── tdlib
└── libcrypto-1_1.dll
└── libssl-1_1.dll
└── tdjson.dll
└── zlib1.dll
- Open
example/windows/CMakeLists.txt
. - Add below line
set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}")
:
# begin td
set(dll_path "${CMAKE_CURRENT_SOURCE_DIR}/tdlib")
install(FILES "${dll_path}/libcrypto-1_1.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" COMPONENT Runtime)
install(FILES "${dll_path}/libssl-1_1.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" COMPONENT Runtime)
install(FILES "${dll_path}/tdjson.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" COMPONENT Runtime)
install(FILES "${dll_path}/zlib1.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" COMPONENT Runtime)
# end td
Linux #
- Copy file from archive to
example/linux/tdlib
└── example
└── linux
└── tdlib
└── libtdjson.so
- Open
example/linux/CMakeLists.txt
. - Add at the end of file:
# begin td
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/tdlib/libtdjson.so" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
COMPONENT Runtime)
# end td
Feature #
- Support Server Side and Client Side
- 3 library in one ( Tdlib, Telegram Bot Api, Mtproto )
- Support Cross platform
Docs #
Tdlib #
gunakan ini untuk membuat userbot / bot / application based tdlib, quickstart: more update example check on this
- single
import 'dart:io';
import 'package:telegram_client/telegram_client.dart';
void main(List<String> args) async {
var path = Directory.current.path;
Tdlib tg = Tdlib(pathTdl:"./tdjson.so", clientOption: {
'api_id': 12345,
'api_hash': 'abcdefgjjaijiajdisd',
'database_directory': "$path/user/",
'files_directory': "$path/user/",
});
tg.on("update", (UpdateTd update) {
print(update.raw);
});
await tg.initIsolate();
}
- multi
Di library ini kamu bisa membuat banyak client tanpa perlu repot menambahkan banyak kode sangat simpel dan ringkas menjadi satu
import 'dart:io';
import 'package:telegram_client/telegram_client.dart';
void main(List<String> args) async {
var path = Directory.current.path;
Tdlib tg = Tdlib(pathTdl:"./tdjson.so", clientOption:{
'api_id': 12345678, /// telegram_api_id
'api_hash': 'asaskaoskaoskoa', /// telegram_api_hash
'database_directory': "$path/user_0/",
'files_directory': "$path/user_0/",
});
tg.on("update", (UpdateTd update) {
if (tg.client_id == update.client_id) {
print("user_0");
} else {
print("user_1");
}
print(update.raw);
});
await tg.initIsolate();
await tg.initIsolateNewClient(clientId: tg.client_create(), clientOption: {
'database_directory': "${path}/user_1/",
'files_directory': "${path}/user_1/",
});
}
constructor
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | pathTdl |
String path tdlib | yes |
|
2 | clientOption |
object | parameters di butuhkan jika method membutuhkannya | no |
- examples
Tdlib tg = Tdlib(pathTdl:"./tdjson.so", clientOption: {
'api_id': 123435,
'api_hash': 'asmamskmaks',
'database_directory': "",
'files_directory': "",
"use_file_database": true,
"use_chat_info_database": true,
"use_message_database": true,
"use_secret_chats": true,
'enable_storage_optimizer': true,
'system_language_code': 'en',
'new_verbosity_level': 0,
'application_version': 'v1',
'device_model': 'Telegram Client Hexaminate',
});
on
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | type_update |
String path tdlib | yes |
|
2 | function |
object | parameters di butuhkan jika method membutuhkannya | yes |
- examples
tg.on("update", (UpdateTd update) {
print(update.raw);
});
initIsolate
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | clientId |
int addres client_create | no |
|
2 | clientOption |
object | parameters di butuhkan jika method membutuhkannya | no |
- examples
tg.initIsolate();
request
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | name_method |
String | more method check tdlib-docs | yes |
2 | parameters |
object | parameters di butuhkan jika method membutuhkannya | options |
- examples
tg.request("sendMessage", parameters: {
"chat_id": 123456,
"text": "Hello world"
});
invoke
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | parameters |
object | parameters di butuhkan jika method membutuhkannya | yes |
- examples
tg.invoke({
"@type": "getMe",
});
invokeSync
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | parameters |
object | parameters di butuhkan jika method membutuhkannya | yes |
- examples
tg.invokeSync({
"@type": "getMe",
});
Object #
UpdateTd #
raw
methods #
more method check tdlib-docs
sendMessage
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | chat_id |
String or int | yes |
|
2 | text |
String | yes |
sendPhoto
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | chat_id |
String or int | yes |
|
2 | photo |
String | yes |
TelegramBotApi #
Gunakan ini untuk berinteraksi dengan api telegram, semua method disini sudah auto update
quickstart:
- single
import 'package:telegram_client/telegram_client.dart';
void main(List<String> args) async {
TelegramBotApi tg = TelegramBotApi("token");
tg.on("update", (UpdateApi update) {
print(update.raw);
});
await tg.initIsolate(); // add this jika ingin menggunakan long poll update
}
- multi
import 'package:telegram_client/telegram_client.dart';
void main(List<String> args) async {
TelegramBotApi tg = TelegramBotApi("token");
tg.on("update", (UpdateApi update) {
print(update.raw);
});
await tg.initIsolate();
await tg.initIsolate(tokenBot: "new_token_bot");
}
constructor
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | string_token_bot |
String token bot @botfather | yes |
|
2 | clientOption |
object | parameters di butuhkan jika method membutuhkannya | no |
- examples
TelegramBotApi tg = TelegramBotApi("token_bot");
request
No | key | value | Deskripsi | required |
---|---|---|---|---|
1 | name_method |
String | more method check tdlib-docs | yes |
2 | parameters |
object | parameters di butuhkan jika method membutuhkannya | options |
- examples
tg.request("sendMessage", parameters:{
"chat_id": 123456,
"text": "Hello world"
});
MtProto #
Untuk mtproto telegram ini belum jadi ya karena saya belum mengerti cara connect mtproto Quickstart:
import 'package:telegram_client/telegram_client.dart';
void main() async {
Mtproto tg = Mtproto();
tg.connect();
tg.on("update", (data) {
print(data);
});
}
-
Tags: #telegram #telegram_client #tdlib #mtproto #telegram_bot_api #telegram_dart #telegram_flutter #telegram_clone #telegram_userbot #telegram_bot
-
Seo Telegram Dart Telegram Client Telegram Flutter Telegram userbot Telegram Bot Telegram Tdlib Tdlib Mtproto Telegram Bot Api Telegram Library Telegram clone Telegram clone flutter Tdlib Dart Tdlib Flutter Mtproto dart Mtproto flutter Telegram Bot Api Telegram Bot Api dart Telegram Bot Api Flutter