Esta página descreve os principais recursos implementados no bot até o momento.
✓ Comandos de Usuário
/start: Recebe o usuário, limpa qualquer conversa anterior, e exibe uma mensagem de boas-vindas personalizada contendo:
Nome do usuário.
Saldo atual em conta (buscado do BD).
Número total de compras de cartões já realizadas (buscado do BD).
Texto promocional sobre o programa de afiliados (se ativo).
Menu principal com botões inline.
✓ Menu Principal (Botões Inline)
🛒 Comprar:✓ Inicia o fluxo para compra de cartões de recarga. Mostra os tipos disponíveis (Mensal/Anual) com preços buscados do banco de dados.
❓ Ajuda:⏳ Exibe um menu com 10 botões para tópicos de ajuda específicos (ajuda_1 a ajuda_10). A estrutura funciona, mas falta inserir os textos de ajuda para cada tópico.
💻 Instalar:⏳ Exibe um texto com instruções de instalação. A estrutura funciona, mas falta inserir o texto final das instruções.
💰 Add Saldo:✓ Inicia o fluxo para adicionar saldo via PIX. Pede o valor, gera o PIX via API do Mercado Pago, salva a transação pendente e envia o código/QR para o usuário. A confirmação do pagamento via webhook atualiza o saldo automaticamente.
🔙 Cashback:✓ Exibe o status atual (Ativado/Desativado) e a porcentagem padrão de cashback configurada no banco de dados (`bot_settings`). Mostra também o total de cashback já acumulado pelo usuário (`users.cashback_earned_total`). ⏳ *Obs: A lógica para *conceder* cashback (atualmente só na 1ª compra PIX) pode precisar de revisão/expansão.*
👥 Afiliado:✓
Exibe o status global (Ativado/Desativado) e a taxa de comissão padrão (do `bot_settings`).
Se o usuário já for afiliado, mostra seus ganhos acumulados e seu link pessoal de referência.
Se não for afiliado (e o programa estiver ativo), mostra os Termos de Uso e o botão "Aceitar Termos e Ativar!".
Clicar em "Aceitar Termos" ativa o status de afiliado do usuário no banco de dados.
⏳ *Obs: Falta implementar o rastreamento de quem indicou quem (via link `?start=refID`) e a lógica para conceder comissão regularmente (atualmente só na 1ª compra PIX do indicado).*
📜 Minhas Compras:✓ Exibe o histórico das últimas compras/recargas do usuário, incluindo data, item, valor, método de pagamento, status e o **código de recarga** para compras concluídas (busca de `purchases.purchase_details`).
📞 Contato:⏳ Exibe informações de contato. A estrutura funciona, mas falta inserir os dados de contato reais.
⚠️ Painel de Administração (`/admin`)
(Acessível apenas por usuários definidos como administradores no arquivo de configuração).
Acesso `/admin`:✓ Comando reconhecido, verifica permissão e exibe o menu principal do admin.
Gerenciar Cartões:⚠️
Adicionar Cartão: Fluxo de pedir tipo (Mensal/Anual) e depois pedir códigos está implementado. A lógica para receber a mensagem com códigos, validar (duplicidade) e inserir na tabela `recharge_codes` também está implementada. *Precisa de teste final.*
Listar Cartões: Função de busca no BD e lógica de exibição paginada no handler estão implementadas. *Precisa de teste final.*
Deletar Cartão: Fluxo de pedir código, verificar status 'available', pedir confirmação e deletar do BD está implementado. *Precisa de teste final.*
Creditar Saldo:✓ Permite ao admin especificar um User ID e um valor. O sistema valida o usuário e o valor, atualiza o saldo do usuário alvo e registra a transação (`ADMIN_CREDIT`). Notifica o admin e o usuário que recebeu.
BroadCast (/msg):⏳ O botão no painel admin apenas exibe instruções. A lógica para o comando `/msg ` (buscar todos os usuários, enviar mensagem em loop com pausa) precisa ser implementada no `webhooks/telegram.php` ou em um handler dedicado.
Configurar Cashback:✓ Permite ativar/desativar globalmente e definir a porcentagem padrão, salvando as alterações no banco de dados (`bot_settings`).
Configurar Afiliados:✓ Permite ativar/desativar globalmente e definir a taxa de comissão padrão, salvando as alterações no banco de dados (`bot_settings`).
Fechar Painel:✓ Deleta a mensagem do painel de admin.