2024-03-06 21:20:44 +03:00
|
|
|
# @mtcute/web
|
2024-02-28 00:33:23 +03:00
|
|
|
|
2024-03-06 21:20:44 +03:00
|
|
|
📖 [API Reference](https://ref.mtcute.dev/modules/_mtcute_web.html)
|
2024-02-28 00:33:23 +03:00
|
|
|
|
2024-03-06 21:20:44 +03:00
|
|
|
Web support package for mtcute. Includes:
|
|
|
|
- WASM crypto provider
|
|
|
|
- Websocket transport
|
|
|
|
- IndexedDB storage
|
|
|
|
- `TelegramClient` implementation using the above
|
2024-02-28 00:33:23 +03:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
```typescript
|
2024-03-06 21:20:44 +03:00
|
|
|
import { TelegramClient } from '@mtcute/web'
|
2024-02-28 00:33:23 +03:00
|
|
|
|
2024-03-06 21:20:44 +03:00
|
|
|
const tg = new TelegramClient({
|
2024-02-28 00:33:23 +03:00
|
|
|
apiId: 12345,
|
|
|
|
apiHash: 'abcdef',
|
|
|
|
storage: 'my-account'
|
|
|
|
})
|
|
|
|
|
2024-07-26 06:46:18 +03:00
|
|
|
const self = await tg.start()
|
|
|
|
console.log(`✨ logged in as ${self.displayName}`)
|
2024-02-28 00:33:23 +03:00
|
|
|
```
|
2024-03-06 21:20:44 +03:00
|
|
|
|
|
|
|
## Usage with workers
|
|
|
|
|
|
|
|
You can also use this package with web workers to offload most of the heavy lifting to a separate thread:
|
|
|
|
|
|
|
|
```typescript
|
|
|
|
// worker.ts
|
|
|
|
import { BaseTelegramClient, TelegramWorker } from '@mtcute/web'
|
|
|
|
|
2024-08-13 04:53:07 +03:00
|
|
|
// main.ts
|
|
|
|
import { TelegramClient, TelegramWorkerPort } from '@mtcute/web'
|
|
|
|
|
2024-03-06 21:20:44 +03:00
|
|
|
const client = new BaseTelegramClient({
|
|
|
|
apiId: 12345,
|
|
|
|
apiHash: 'abcdef',
|
|
|
|
storage: 'my-account'
|
|
|
|
})
|
|
|
|
|
|
|
|
new TelegramWorker({ client })
|
|
|
|
|
|
|
|
const worker = new Worker(new URL('./worker.ts', import.meta.url), { type: 'module' }) // or SharedWorker
|
|
|
|
const port = new TelegramWorkerPort({ worker })
|
|
|
|
const tg = new TelegramClient({ client: port })
|
|
|
|
|
2024-07-26 06:46:18 +03:00
|
|
|
const self = await tg.start()
|
|
|
|
console.log(`✨ logged in as ${user.displayName}`)
|
2024-08-13 04:53:07 +03:00
|
|
|
```
|