@koniverse/telegram-bot-link
v1.0.1
Published
Koni Bot gRPC for server & client
Downloads
142
Readme
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: '[email protected]',
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: '[email protected]' })
.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.