getMyTonBalanceПоддерживается
Синоним метода getMyGramBalance в StaticGram: тот же обработчик, параметры и ответ. Расширение StaticGram (в официальном Bot API его нет). Возвращает баланс бота в GRAM — внутренней валюте StaticGram, которую бот получает за оплаченные GRAM-счета (sendGramInvoice, createGramInvoiceLink, sendInvoice с currency "TON"). Аналог getMyStarBalance для GRAM. Синоним — getMyTonBalance. Returns an object with the bot balance in GRAM on success.
Особенности StaticGram
Метод StaticGram. Баланс — сумма оплаченных GRAM-счетов минус возвраты (refundGramPayment) и выводы (withdrawGramBalance). Баланс в звёздах — getMyStarBalance.
Параметры
Метод не принимает параметров.
Что возвращает
| Поле | Тип | Описание |
|---|---|---|
currency | String | Всегда "TON" (так GRAM обозначается в счетах и платежах). |
amount | Integer | Баланс в нанотонах (1 GRAM = 1000000000). |
nanoton_amount | Integer | То же, что amount: баланс в нанотонах. |
gram_amount | String | Баланс в GRAM десятичной строкой без лишних нулей: "1.5", "0.01", "0". |
Ошибки
Ошибка приходит как {"ok": false, "error_code": 400, "description": "Bad Request: КОД: пояснение"}, если не указано иное.
| Ошибка | Когда |
|---|---|
401 Unauthorized | неверный токен бота |
501 METHOD_NOT_FOUND | GRAM-платежи на сервере отключены |
Пример запроса
curl
curl "https://api.staticgram.top/bot$TOKEN/getMyTonBalance"aiogram 3
from aiogram import Bot
from aiogram.client.session.aiohttp import AiohttpSession
from aiogram.client.telegram import TelegramAPIServer
from aiogram.methods.base import TelegramMethod
# Метода StaticGram нет в aiogram: описываем его сами, bot(...) отправит запрос как обычно.
class GetMyTonBalance(TelegramMethod[dict]):
__returning__ = dict
__api_method__ = "getMyTonBalance"
session = AiohttpSession(api=TelegramAPIServer.from_base("https://api.staticgram.top"))
bot = Bot(TOKEN, session=session)
balance = await bot(GetMyTonBalance())
print(balance["gram_amount"], balance["nanoton_amount"]) # "1.5" 1500000000JavaScript
const res = await fetch(`https://api.staticgram.top/bot${TOKEN}/getMyTonBalance`);
const { result } = await res.json();
console.log(result.gram_amount); // "1.5"Ответ (Object)
JSON
{
"ok": true,
"result": {
"currency": "TON",
"amount": 1500000000,
"nanoton_amount": 1500000000,
"gram_amount": "1.5"
}
}