From 149fa6b49e17a54909a2dd2073e900db13323dd9 Mon Sep 17 00:00:00 2001 From: Alina Sireneva Date: Thu, 7 Mar 2024 09:53:30 +0300 Subject: [PATCH] chore: readme + exports --- packages/convert/README.md | 58 ++++++++++++++++++-------- packages/convert/src/gramjs/index.ts | 4 ++ packages/convert/src/index.ts | 4 ++ packages/convert/src/mtkruto/index.ts | 4 ++ packages/convert/src/pyrogram/index.ts | 4 ++ packages/convert/src/telethon/index.ts | 4 ++ 6 files changed, 61 insertions(+), 17 deletions(-) create mode 100644 packages/convert/src/gramjs/index.ts create mode 100644 packages/convert/src/index.ts create mode 100644 packages/convert/src/mtkruto/index.ts create mode 100644 packages/convert/src/pyrogram/index.ts create mode 100644 packages/convert/src/telethon/index.ts diff --git a/packages/convert/README.md b/packages/convert/README.md index c080b07b..d741f46e 100644 --- a/packages/convert/README.md +++ b/packages/convert/README.md @@ -1,22 +1,46 @@ -# @mtcute/file-id +# @mtcute/convert -📖 [API Reference](https://ref.mtcute.dev/modules/_mtcute_file_id.html) +📖 [API Reference](https://ref.mtcute.dev/modules/_mtcute_convert.html) -This package is used internally by `@mtcute/core` to parse, serialize -and manipulate TDLib and Bot API compatible File IDs, but can also be used -for any other purposes. +This package can be used to convert other libraries sessions to/from mtcute sessions -## Acknowledgements -This is basically a port of a portion of TDLib APIs, but greatly -simplified in usage and made to work seamlessly with the rest of the -mtcute APIs. +Currently only the libraries that support exporting sessions to strings are supported, namely: -This is a list of files from TDLib repository, from which most of the code was taken: - - [td/telegram/files/FileManager.cpp](https://github.com/tdlib/td/blob/master/td/telegram/files/FileManager.cpp) - - [td/telegram/files/FileLocation.hpp](https://github.com/tdlib/td/blob/master/td/telegram/files/FileLocation.hpp) - - [td/telegram/PhotoSizeSource.h](https://github.com/tdlib/td/blob/master/td/telegram/PhotoSizeSource.h) - - [td/telegram/PhotoSizeSource.hpp](https://github.com/tdlib/td/blob/master/td/telegram/PhotoSizeSource.hpp) - - [td/telegram/Version.h](https://github.com/tdlib/td/blob/master/td/telegram/Version.h) +## [Telethon](https://github.com/LonamiWebs/Telethon) -Additionally, some of the test cases were taken from a similar Python -library, [luckydonald/telegram_file_id](https://github.com/luckydonald/telegram_file_id) +> Telethon v2 seems to have removed the ability to export sessions, +> so it's currently not supported + +```ts +import { convertFromTelethonSession } from '@mtcute/convert' + +const client = new TelegramClient({ ... }) +await client.importSession(convertFromTelethonSession("...")) +``` + +## [Pyrogram](https://github.com/gram-js/gramjs) + +```ts +import { convertFromPyrogramSession } from '@mtcute/convert' + +const client = new TelegramClient({ ... }) +await client.importSession(convertFromPyrogramSession("...")) +``` + +## GramJS + +```ts +import { convertFromGramjsSession } from '@mtcute/convert' + +const client = new TelegramClient({ ... }) +await client.importSession(convertFromGramjsSession("...")) +``` + +## [MTKruto](https://github.com/MTKruto/MTKruto) + +```ts +import { convertFromMtkrutoSession } from '@mtcute/convert' + +const client = new TelegramClient({ ... }) +await client.importSession(convertFromMtkrutoSession("...")) +``` \ No newline at end of file diff --git a/packages/convert/src/gramjs/index.ts b/packages/convert/src/gramjs/index.ts new file mode 100644 index 00000000..ad163bf1 --- /dev/null +++ b/packages/convert/src/gramjs/index.ts @@ -0,0 +1,4 @@ +export * from './convert.js' +export * from './parse.js' +export * from './serialize.js' +export * from './types.js' diff --git a/packages/convert/src/index.ts b/packages/convert/src/index.ts new file mode 100644 index 00000000..73a452a0 --- /dev/null +++ b/packages/convert/src/index.ts @@ -0,0 +1,4 @@ +export * from './gramjs/index.js' +export * from './mtkruto/index.js' +export * from './pyrogram/index.js' +export * from './telethon/index.js' diff --git a/packages/convert/src/mtkruto/index.ts b/packages/convert/src/mtkruto/index.ts new file mode 100644 index 00000000..ad163bf1 --- /dev/null +++ b/packages/convert/src/mtkruto/index.ts @@ -0,0 +1,4 @@ +export * from './convert.js' +export * from './parse.js' +export * from './serialize.js' +export * from './types.js' diff --git a/packages/convert/src/pyrogram/index.ts b/packages/convert/src/pyrogram/index.ts new file mode 100644 index 00000000..ad163bf1 --- /dev/null +++ b/packages/convert/src/pyrogram/index.ts @@ -0,0 +1,4 @@ +export * from './convert.js' +export * from './parse.js' +export * from './serialize.js' +export * from './types.js' diff --git a/packages/convert/src/telethon/index.ts b/packages/convert/src/telethon/index.ts new file mode 100644 index 00000000..ad163bf1 --- /dev/null +++ b/packages/convert/src/telethon/index.ts @@ -0,0 +1,4 @@ +export * from './convert.js' +export * from './parse.js' +export * from './serialize.js' +export * from './types.js'