cyan-2048 / mtcute-core-no-bigint

mtcute core without bigints

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@mtcute/core

no big ints 📖 API Reference

Platform-agnostic MTProto implementation and auxiliary utilities.

Features

  • MTProto 2.0: Implements the full MTProto protocol, including all the encryption and serialization
  • 2FA support: Provides utilities for 2-step verification
  • Hackable: Bring your own storage, transport, and other components to customize the library to your needs
  • Magical: Handles reconnections, connection pooling, DC redirections and other stuff for you
  • Updates handling: Implements proper updates handling, including ordering and gap recovery (learn more)
  • High-level: Includes a high-level API that wrap the MTProto APIs and provide a clean interface
  • Tree-shaking: You can import just the methods you need, and the rest will not be included into the bundle

Usage

import { BaseTelegramClient } from "@mtcute/core/client.js";

const tg = new BaseTelegramClient({
	apiId: 12345,
	apiHash: "0123456789abcdef0123456789abcdef",
	crypto: new MyCryptoProvider(),
	storage: new MyStorage(),
	transport: () => new MyTransport(),
});

tg.call({ _: "help.getConfig" }).then(console.log);

Usage with high-level API

import { TelegramClient } from "@mtcute/core/client.js";

const tg = new TelegramClient({
	// ... same options as above
});

tg.run(
	{
		phone: "+1234567890",
		code: () => prompt("Enter the code:"),
		password: "my-password",
	},
	async (user) => {
		console.log(`✨ logged in as ${user.displayName}`);
	}
);

About

mtcute core without bigints


Languages

Language:TypeScript 98.4%Language:JavaScript 1.6%