1.0.1 • Published 9 months ago

@koniverse/telegram-bot-link v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

KoniBotLink

KoniBotLink is a TypeScript library for interacting with the Koni Bot API. It provides methods to submit and find links using the Telegram bot.

Installation

To install the library, use yarn:

yarn add @koniverse/telegram-bot-link

Usage

Get initData from Telegram App and validate it:

Add Telegram Web App script to your HTML file Of Mini App:

<script src="https://telegram.org/js/telegram-web-app.js"></script>

Get initData from Telegram App Object:

const initData = window.Telegram.WebApp.initData;

If you running this lib on backend, you can send initData from frontend to backend and link

Here is a simple example of how to use the KoniBotLink class:

import KoniBotLink from '@koniverse/telegram-bot-link';

const sdk = new KoniBotLink({
  url: 'http://bot-backend.example.com',
  bot: 'koni-demo-bot',
  service: 'subwallet',
  // Optional for more security, required on production environment
  // Token is required to update linking status => avoid spamming
  token: 'your_token_here' 
});

// Submit a link
sdk.submitLink({
  initData: 'query_id=AAHa5GRXAAAAANrkZFfGUxFM&user=%7B%22id%22%3A1466229978%2C%22first_name%22%3A%22Peter%22%2C%22last_name%22%3A%22Mai%22%2C%22username%22%3A%22petermai%22%2C%22language_code%22%3A%22en%22%2C%22allows_write_to_pm%22%3Atrue%7D&auth_date=1727860820&hash=7e463c327e80694b9f08f6f01eee9cfa1ee3ea282ef603554e822c5bfe107fd2',
  linkInfo: {
    email: 'peter@gmail.com',
    uid: '1466229978xx',
    id: 1466229978,
    address: '0x1234567890',
    signature: '0x1234567890',
  }
}).then(response => {
  console.log('Submit Response:', response);
}).catch(error => {
  console.error('Error:', error);
});

// Find a link
sdk.findLink({ email: 'anhmtv@subwallet.app' })
  .then(response => {
    console.log('Find Response:', response);
  })
  .catch(error => {
    console.error('Error:', error);
  });

API

KoniBotLink

constructor(config: LinkConfig)

Creates a new instance of KoniBotLink.

  • config: The configuration object for the bot link.

validateData(input: InitDataInput): Promise<RequestResult<ValidationResult>>

Validates the initial data get of Telegram App.

  • input: The input parameters for validation.

submitLink(inputParams: LinkInput): Promise<RequestResult<LinkResult>>

Submits a link to the API.

  • inputParams: The input parameters for the link submission.

findLink(query: LinkQuery): Promise<RequestResult<LinkResult>>

Finds a link based on the query parameters.

  • query: The query parameters for finding the link.

License

This project is licensed under the MIT License.

This `README.md` provides an overview of the project, installation instructions, a usage example, and API documentation. Adjust the content as needed to fit your project's specifics.
1.0.1

9 months ago

1.0.0

10 months ago

1.0.0-beta.6

10 months ago

1.0.0-beta.5

10 months ago

1.0.0-beta.3

10 months ago

1.0.0-beta.2

10 months ago

1.0.0-beta.1

10 months ago

1.0.0-beta.0

10 months ago