TypeScript library for interacting with Portals Marketplace API
npm install portals-kitTypeScript библиотека для работы с Portals Marketplace API. Предоставляет простой и удобный интерфейс для взаимодействия с маркетплейсом Portals, включая авторизацию через Telegram бота.
Просто установите переменные окружения и используйте функции напрямую!
``envВариант 1: Telegram авторизация (рекомендуется)
TG_API_ID=12345678
TG_API_HASH=your-api-hash
TG_SESSION=your-session-string
$3
`typescript
import {
getCollections,
getAllGiftPrices,
buyGift,
} from 'portals-kit';// Просто вызывайте функции - клиент инициализируется автоматически!
const collections = await getCollections();
const prices = await getAllGiftPrices();
const result = await buyGift('nft-id', '1.5');
`Вот и всё! Не нужно создавать клиент, всё работает автоматически из переменных окружения.
Установка
`bash
npm install portals-kit
`или
`bash
yarn add portals-kit
`или
`bash
bun add portals-kit
`Использование
$3
`typescript
import {
getCollections,
getAllGiftPrices,
getCheapestGiftsForCollection,
buyGift,
buyAndTransferGift,
} from 'portals-kit';// В любом месте вашего проекта - просто вызывайте функции!
const collections = await getCollections();
const prices = await getAllGiftPrices();
const gifts = await getCheapestGiftsForCollection('collection-id', 10);
const result = await buyAndTransferGift('nft-id', '1.5');
`$3
`typescript
import { createPortalsClient } from 'portals-kit';const client = createPortalsClient({
authToken: 'tma your-token',
// или
telegramAuth: {
apiId: 12345678,
apiHash: 'your-api-hash',
sessionString: 'your-session-string',
},
});
await client.connectTelegram(); // если используется Telegram
const collections = await client.getCollections();
`Переменные окружения
$3
`env
Вариант 1: Telegram авторизация
TG_API_ID=12345678
TG_API_HASH=your-api-hash
TG_SESSION=your-session-stringВариант 2: Статический токен
PORTALS_TOKEN=tma your-token-here
`$3
`env
TG_BOT_USERNAME=portals # По умолчанию: portals
TG_BOT_APP_SHORT_NAME=market # По умолчанию: market
PORTALS_API_URL=https://portal-market.com/api # По умолчанию: https://portal-market.com/api
PORTALS_TIMEOUT=30000 # По умолчанию: 30000
`Получение Telegram сессии
Для первого использования нужно получить сессию Telegram:
`typescript
import { TelegramAuth } from 'portals-kit';
import * as readline from 'readline';const auth = new TelegramAuth({
apiId: 12345678,
apiHash: 'your-api-hash',
});
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const question = (query: string): Promise => {
return new Promise((resolve) => rl.question(query, resolve));
};
const sessionString = await auth.start(
'+1234567890',
async () => await question('Введите код из Telegram: '),
async () => await question('Введите пароль 2FA (если есть): ')
);
rl.close();
console.log('Сохраните эту сессию:', sessionString);
``MIT