@koniverse/telegram-bot-link v1.0.1
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.
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago