* feat: moved tl-runtime to esm and native ArrayBuffers * feat: migration to esm * fix(core): web-related fixes * test: finally, some good fucking e2e * chore: fixed linters etc * ci: added e2e to ci * build(tl): fixed gen-code on node 20 * fix: codegen Uint8Array, not Buffer never `git reset --hard` kids * build: only do type-aware linting for `packages/*` * build: ignore no-unresolved in ci for e2e * fix: node 16 doesn't have subtle crypto apparently? * fix(tests): use Uint8Array for gods sake please can i just merge this already * ci: don't parallel tasks in ci because machines are utter garbage and it may just randomly break * ci: pass secrets to e2e tests * ci: separate cli command for ci apparently im retarded * fix: run codegen in e2e im actually retarded * ci: more fixes for e2e * ci: debugging stuff * ci: still debugging * ci: hopefully fix ci???
17 lines
517 B
TypeScript
17 lines
517 B
TypeScript
import { BaseTelegramClient, Long } from '@mtcute/core'
|
|
import { assertTypeIs } from '@mtcute/core/utils.js'
|
|
|
|
import { User } from '../../types/index.js'
|
|
|
|
/**
|
|
* Get list of contacts from your Telegram contacts list.
|
|
*/
|
|
export async function getContacts(client: BaseTelegramClient): Promise<User[]> {
|
|
const res = await client.call({
|
|
_: 'contacts.getContacts',
|
|
hash: Long.ZERO,
|
|
})
|
|
assertTypeIs('getContacts', res, 'contacts.contacts')
|
|
|
|
return res.users.map((user) => new User(user))
|
|
}
|