Проверка Airdrop Blast через Telegram
Бесполезный функционал - проверяем через телегу сколько и каких спинов доступно.
Ввести токен бота - его получаем у BotFather в Telegram.
Ищем как получить ID для общения с ботом.
ACCESS_TOKEN берется из Cookie после авторизации на сайте Blast
Telegram бота вешаем VPS в скринере или TMUX(e)
from datetime import timedelta
from telegram import Update, ParseMode
from telegram.ext import Updater, CommandHandler, CallbackContext
# Замените 'YOUR_BOT_TOKEN' на ваш токен бота
# Замените 'YOUR_CHAT_ID' на ваш ID чата
# Замените 'ACCESS_TOKEN' на ваш токен из куков на blast.io
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0',
'Accept-Language': 'en-CA,en-US;q=0.7,en;q=0.3',
'Referer': 'https://blast.io/',
'Content-Type': 'application/json',
'Sec-Fetch-Site': 'same-site',
response = requests.get('https://waitlist-api.prod.blast.io/v1/user/dashboard', cookies=cookies, headers=headers)
if response.status_code == 200:
print(f"Failed to fetch data. Status code: {response.status_code}")
spins_available = data.get('spins')
# return f"Сейчас доступно {spins_available} спинов"
return "Не удалось получить данные о спинах"
def get_time_until_next_spin(data):
if data and 'spinStats' in data:
time_until_next_spin = data['spinStats'].get('timeUntilNextSpinSeconds')
if time_until_next_spin is not None:
formatted_time = timedelta(seconds=int(time_until_next_spin))
return f"Следующий спин будет через {formatted_time}"
return "Не удалось получить информацию о времени до следующего спина"
def start(update: Update, context: CallbackContext) -> None:
message = "Привет! Чтобы получить информацию о спинах, используйте команду /spins."
update.message.reply_text(message)
def spins(update: Update, context: CallbackContext) -> None:
spins_data = get_spins_info(get_dashboard_data())
f = [f'{k} = {v}' for k, v in spins_data.items()]
date_spins = get_time_until_next_spin(get_dashboard_data())
answer = 'Спинов нет' + '\n' + date_spins
answer = ', '.join(f) + '\n' + date_spins
context.bot.send_message(chat_id=update.message.chat_id, text=(answer), parse_mode=ParseMode.MARKDOWN)
updater = Updater(TOKEN, use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(CommandHandler("start", start))
dispatcher.add_handler(CommandHandler("spins", spins))
(python -m pip ... или python pip install -r requirements.txt)