🐶

Mega Bonk Furious — Buy Bot

Monitoramento de pre-venda em tempo real via Helius + Telegram

Status

Parado
Carteira:j3Pq3p...M3kH
Mínimo:$10,00
Intervalo:15s
Tokens:SOL + USDC

Controles

O bot verifica as carteiras a cada 15s via Helius e envia alertas no Telegram quando detecta recebimentos de SOL ou USDC acima do valor minimo configurado.

Compras Detectadas

🐶

Aguardando compras na carteira monitorada...

Carteiras Monitoradas

j3Pq3paK...A16ZM3kH
De $
até $

Deixe o máximo vazio para sem limite superior.

mín. 5s — maior intervalo = menos spam no Telegram

Preview da Mensagem

🐶$MBF Token New Purchased!

Bought: Mega Bonk Furious

Amount: $50.00

Token: SOL

Transaction: 3xK9mR2abc...

🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶🐶
Website|Twitter|Community

Quantidade de 🐶: a cada $10 entram 5 cachorros — ex: $50 = 25 🐶, $100 = 50 🐶, $1000 = 500 🐶

Editor de Mensagem

Variáveis disponíveis: ${amount} ${token} ${tx}

Credenciais

Token do bot criado via @BotFather

Chave de API da Helius (helius.dev)

ID numérico do grupo/canal do Telegram

Integracao com o Site Mega Bonk

Conecte os contadores do site ao banco de dados deste bot em 3 passos.

Ver site

Endpoint publico de stats deste bot:

SEU-BOT.vercel.app/api/stats

Testar
1

Adicione a variável de ambiente no site Mega Bonk

No painel Vars do projeto Mega Bonk no V0, adicione esta variável apontando para a URL deste bot.

NEXT_PUBLIC_MONITOR_URL=https://seu-bot.vercel.app
2

Copie o hook para o projeto Mega Bonk

Cole este arquivo no projeto do site da Mega Bonk. O hook atualiza automaticamente a cada 60 segundos.

// hooks/use-presale-stats.ts
'use client'
import { useEffect, useState } from 'react'

const MONITOR_URL = process.env.NEXT_PUBLIC_MONITOR_URL ?? ''

export function usePresaleStats() {
  const [stats, setStats] = useState({ totalUsd: 0, uniqueBuyers: 0, totalPurchases: 0 })

  useEffect(() => {
    const load = async () => {
      try {
        const res = await fetch(`${MONITOR_URL}/api/stats`, { cache: 'no-store' })
        const data = await res.json()
        if (data.ok) setStats({ totalUsd: data.totalUsd, uniqueBuyers: data.uniqueBuyers, totalPurchases: data.totalPurchases })
      } catch { /* silent */ }
    }
    load()
    const id = setInterval(load, 60_000)
    return () => clearInterval(id)
  }, [])

  return stats
}