tgsnake / core

core library for tgsnake for connecting to telegram api
https://deno.land/x/tgsnake_core
MIT License
11 stars 1 forks source link
mtproto telegram userbot

tgsnake core

Layer 187

Pure Telegram MTProto framework for Javascript or Typescript.

⚑ Using less dependencies to make it fast.
πŸ”“ Open Source, you can contribute to make this framework better.
πŸ—’οΈ Using Pure Telegram Raw Api, all JSON object is pure from telegram, nothing has changed at all. So that it makes it easier for you to learn the telegram schema docs.
πŸ¦• Deno Support.

Example use

import { Client, Raw, Storages } from '@tgsnake/core';
process.env.LOGLEVEL = 'debug'; // set log level, see @tgsnake/log for more information.
const client = new Client(
  // you can fill with Telethon or Pyrogram string session.
  new Storages.StringSession(''),
  apiHash,
  apiId,
);
// handle update
client.addHandler((update) => {
  console.log(update);
});

// if you already pass the string session, don't fill any arguments in start function, leave it empty.
client.start({
  botToken: '', // if you want login as bot, you can login as user too.
  /* Remove "botToken" if you want to login as user.
  phoneNumber : async () => {}, // Phone number with international phone code (include plus sign (+)) will be used to login, the return of function must be a string.
  code : async () => {}, // OTP code, the return of function must be a string.
  password : async () => {}, // if you account has 2FA, the return of function must be a string.
  authError : async (error) => {} // when error BadRequest attempt, this function will be running.
  */
});

Exporting Session.

For exporting string session, use client.exportSession(). It will be return Promise<string>.

const exported = await client.exportSession();

Development Guidelines

$ git clone https://github.com/tgsnake/core

Required to use yarn!

$ yarn install
$ yarn build:api
$ yarn build:error

Notes

MIT License

Build with β™₯️ by tgsnake dev.