[TUTORIAL] Monitorar suas Skills em tempo real pelo Celular

Discussão em 'Tutoriais macro' iniciado por HalloStar, 28 Outubro 2024.

  1. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    375
    Curtidas Recebidas:
    116
    Curtiu:
    82
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    511.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Monitore sua conta na palma da mão.

    Problema
    Após tanto sofrer com contas que assim que eu saia de casa paravam de upar, decidi criar um projeto que traz receber mensagens em tempo real. Ou a caráter do tempo que achar necessário via mensagens de Telegram (ou quaisquer locais que utilizem API).

    Objetivo
    Conseguir acompanhar tem tempo real minhas skills de qualquer local, até mesmo do trabalho.

    Solução
    Desenvolver um projeto que integre tanto o Mod macro e um script que processa e envia para um grupo do Telegram, após conversas com o @lomexicano me deu algumas dicas de qual a lógica a ser realizada in-game.

    Vamos ao que interessa e como funciona?

    1. Utilizar o mod Macro para coletar a informação das skills, selecionar e dar output em um arquivo.
    2. Um script em PowerShell que faz o processamento das informações, como encontrar, processar, enviar e por fim fazer um controle do arquivo a cada 20 execuções apaga o conteúdo.
    Resultado
    [​IMG]



    Como Usar
    Etapa 01 - Instalando os macros dentro do Game.
    1. Você deve criar no seu modpack os macros abaixo
    2. $$<telegram_star.txt>
    3. Adicione um novo arquivo onChat, $$<starTelegramOnChat.txt> lembre-se de não mexer no existente, caso exista -> (Como ter mais de um? Clique aqui)
    4. Após isto adicione nos arquivos criados os códigos disponíveis abaixo.
    5. LEMBRE-SE DE ALTERAR NA MACRO $$<telegram_star.txt> o /inspect <nomePlayer> por /stats ou inserir nome do jogador desejado.
    Código macro keyBind mencionada acima.
    $${
    if(@telegram_star);
    unset(@telegram_star);
    ACHIEVEMENTGET("Telegram Star OFF",diamonds);
    log(" ");
    log("&e&l[&r&fTELEGRAM &2STAR] &c&lOFF&f&r!");
    log(" ");
    else;
    ACHIEVEMENTGET("Telegram STAR ON",diamonds);
    CLEARCHAT;
    //echo("/stats");
    set(@telegram_star;
    log(" ");
    log("&e&l[&r&fTELEGRAM &2STAR] &a&lON&f&r!");
    log(" ");

    do;
    wait(10);

    echo("/inspect <nomePlayer>");
    while(@telegram_star == true);
    endif;
    //Fim da verificação da variavel Setada;
    }$$



    Código macro OnChat mencionada acima.
    $${
    if(@telegram_star);
    ifmatches(%CHATCLEAN%,"Escava.ao: (.*)");
    MATCH(%CHATCLEAN%,"Escava.ao: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] ==================================");
    logto("arquivo.txt","[%DATE%][%TIME%] -=SKILLS DE TRABALHO-=");
    logto("arquivo.txt","[%DATE%][%TIME%] Escavacao: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;

    ifmatches(%CHATCLEAN%,"Pescador: (.*)");
    MATCH(%CHATCLEAN%,"Pescador: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Pescador: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;

    ifmatches(%CHATCLEAN%,"Herbalismo: (.*)");
    MATCH(%CHATCLEAN%,"Herbalismo: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Herbalismo: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;
    ifmatches(%CHATCLEAN%,"Minera..o: (.*)");
    MATCH(%CHATCLEAN%,"Minera..o: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Mineracao: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;

    ifmatches(%CHATCLEAN%,"Lenhador: (.*)");
    MATCH(%CHATCLEAN%,"Lenhador: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Lenhador: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;
    ifmatches(%CHATCLEAN%,"Machado: (.*)");
    MATCH(%CHATCLEAN%,"Machado: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] -=SKILLS DE COMBATE-=");
    logto("arquivo.txt","[%DATE%][%TIME%] Machado: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;
    ifmatches(%CHATCLEAN%,"Arqueiro: (.*)");
    MATCH(%CHATCLEAN%,"Arqueiro: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Arqueiro: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;
    ifmatches(%CHATCLEAN%,"Espadas: (.*)");
    MATCH(%CHATCLEAN%,"Espadas: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Espadas: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;
    ifmatches(%CHATCLEAN%,"Acrobacia: (.*)");
    MATCH(%CHATCLEAN%,"Acrobacia: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] -=MISC SKILLS-=");
    logto("arquivo.txt","[%DATE%][%TIME%] Acrobacia: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;
    ifmatches(%CHATCLEAN%,"Repara..o: (.*)");
    MATCH(%CHATCLEAN%,"Repara..o: (.*) XP.(.*)/(.*).",{&lvl,&xp1,&xp2});
    logto("arquivo.txt","[%DATE%][%TIME%] Reparacao: %&lvl% XP(%&xp1% / %&xp2%)");
    endif;

    endif;//Fim da macro só executa se a outra macro estiver On.

    }$$




    Etapa 02 - Script em PowerShell
    Bem nesta etapa é necessário conhecimento básico sobre PowerShell e sobre bots.

    Para envio é utilizado uma função API do próprio
    Telegram feito por intermédio de bots.


    1. Deve-se criar um BOT usando o BotFather por exemplo -> tutorial outro
      1. Crie um bot escrevendo /newbot no contato https://t.me/botfather no telegram
      2. Guarde o token que será gerado
      3. Descubra o ID da sua conta de Telegram mandando /start para o bot @GetIDsBot no Telegram



    2. Alterar as variáveis de acordo com seu cenário $botToken, $chatId, $arquivo.
    3. Se atente para a váriavel $arquivo = "arquivo.txt" ela vai direcionar onde se encontra o arquivo gerado pelas macros.
    arquivo.txt deve-se encontra na pasta .minecraft/mods/macros/logs.

    A pasta logs por padrão não existe, porém, assim que executado o Macro irá criar.
    OBS: deixe o script powershell como mostrado na imagem ou então altere a variável arquivo no script.

    [​IMG]

    Clique abaixo para obter o código do Script PowerShell
    # Configurações
    $botToken = "6397064394:AAFqhzc_f8gnVK5g2lSV08CCcJu7K30Tuos"
    $chatId = "-1001948145831"

    # Caminho do arquivo de texto
    $arquivo = "arquivo.txt"
    #após quantos envios deletar os registros.
    $quantApagar = 4




    #variaveis não mexer
    $condicaoAnterior = 0
    $contador = 0
    while ($true) {
    # Lê o conteúdo do arquivo
    $conteudo = Get-Content $arquivo

    #Conta quantas vezes tem essa palavra dentro do arquivo;
    $condicao = ($conteudo | Select-String -Pattern "Pescador:").Count

    #Se a quantidade mudar de uma vez para a outra entra aqui e executa
    if ($condicao -gt $condicaoAnterior) {

    $selectPesca = ($conteudo | Select-String -Pattern "Pescador:")
    $pesca = $selectPesca | Select-Object -Last 1
    $pescador = [regex]::Match($pesca, ' (.*)').Value

    $selectEscava = ($conteudo | Select-String -Pattern "Escavacao:")
    $escava = $selectEscava | Select-Object -Last 1
    $escavacao = [regex]::Match($escava, ' (.*)').Value

    $selectHerba = ($conteudo | Select-String -Pattern "Herbalismo:")
    $herba = $selectHerba | Select-Object -Last 1
    $herbalismo = [regex]::Match($herba, ' (.*)').Value

    $selectMiner = ($conteudo | Select-String -Pattern "Mineracao:")
    $miner = $selectMiner | Select-Object -Last 1
    $mineracao = [regex]::Match($miner, ' (.*)').Value

    $selectLenha = ($conteudo | Select-String -Pattern "Lenhador:")
    $lenha = $selectLenha | Select-Object -Last 1
    $lenhador = [regex]::Match($lenha, ' (.*)').Value

    #Skills de combate
    $selectMachado = ($conteudo | Select-String -Pattern "Machado:")
    $machado = $selectMachado | Select-Object -Last 1
    $machado = [regex]::Match($machado, ' (.*)').Value

    $selectArqueiro = ($conteudo | Select-String -Pattern "Arqueiro:")
    $arqueiro = $selectArqueiro| Select-Object -Last 1
    $arqueiro = [regex]::Match($arqueiro, ' (.*)').Value

    $selectEspadas = ($conteudo | Select-String -Pattern "Espadas:")
    $espadas = $selectEspadas| Select-Object -Last 1
    $espadas = [regex]::Match($espadas, ' (.*)').Value

    #Misc Skills
    $selectAcro = ($conteudo | Select-String -Pattern "Acrobacia:")
    $acrobacia = $selectAcro| Select-Object -Last 1
    $acrobacia = [regex]::Match($acrobacia, ' (.*)').Value

    $selectRep = ($conteudo | Select-String -Pattern "Reparacao:")
    $reparacao = $selectRep| Select-Object -Last 1
    $reparacao = [regex]::Match($reparacao, ' (.*)').Value


    #contabiliza os retornos
    $condicaoAnterior = $condicao
    #contador para delimitar drop do arquivo e não inchar.
    $contador++
    Write-Host "Registro encontrado numero -> [$contador]"
    Write-Host "Registro encontrado numero -> [$contador]"
    Write-Host "Registro encontrado numero -> [$contador]"


    #após 3 execuções apagamos o arquivo
    if ($contador -ge $quantApagar) {
    # Lê o conteúdo do arquivo e apaga.
    $conteudo = Get-Content $arquivo
    # Apagar o conteúdo do arquivo
    Set-Content $arquivo ""

    Write-Host "Arquivo foi apagado. /[$contador]\ executado."

    $condicaoAnterior = 0
    $contador = 0;
    }

    $mensagem = "
    Relatorio de Skills

    -=-SKILLS DE TRABALHO-=-
    $escavacao
    $pescador
    $herbalismo
    $mineracao
    $lenhador

    -=-SKILLS DE COMBATE-=-
    $machado
    $arqueiro
    $espadas

    -=-MISC SKILLS-=-
    $acrobacia
    $reparacao
    "


    Invoke-WebRequest "https://api.telegram.org/bot$botToken/sendMessage?chat_id=$chatId&text=$mensagem"
    Write-Host "Novo Registro encontrado, enviando para telegram."

    }else{

    Write-Host "Nada de novo por aqui, volte depois."
    }
    #Verificação a cada 10 segundos, caso queira alterar, mude o número 10
    Start-Sleep -Seconds 10
    }

    FAQ - Perguntas e respostas
    1. Como adicionar macros? -> Clique aqui
    2. PowerShell não está executando, como fazer? - > Clique aqui
    3. Não consigo criar um grupo e adicionar o Bot, oque fazer? -> Clique aqui
     
    Hellowiin_, Viker, gustavin e 3 outras curtiram isso.
  2. xGalaxy

    xGalaxy Craftlandiano
    Moderação

    Afiliado:
    26 Outubro 2013
    Mensagens:
    1,771
    Curtidas Recebidas:
    833
    Curtiu:
    567
    Sexo:
    Masculino
    Ocupação:
    Militar
    Localização:
    Rio de Janeiro
    Cubos:
    2,962.00
    Nick:
    zGalaxyIIZBII
    Clan:
    STF
    Gênio, cada vez mais estamos nos afastando do computador e levando a CL pro bolso
     
    HalloStar curtiu isso.
  3. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    375
    Curtidas Recebidas:
    116
    Curtiu:
    82
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    511.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Muito obrigado :pepporei::)
     
  4. lomexicano

    lomexicano Craftlandiano
    VIP

    Afiliado:
    20 Agosto 2013
    Mensagens:
    655
    Curtidas Recebidas:
    899
    Curtiu:
    785
    Sexo:
    Masculino
    Ocupação:
    Mestrando...
    Localização:
    Rio Grande...
    Cubos:
    2,514.00
    Nick:
    lomexicano
    Discord:
    lomexicano
    YouTube:
    LoMexicano
    massa, muito bom :peppocool::peppobocao::peppobocao:
     
    HalloStar curtiu isso.
  5. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    375
    Curtidas Recebidas:
    116
    Curtiu:
    82
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    511.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Obrigado meu rei :peppochoro:
     
    lomexicano curtiu isso.
  6. HarvardBOLADU

    HarvardBOLADU Razoavel
    VIP

    Afiliado:
    10 Julho 2014
    Mensagens:
    329
    Curtidas Recebidas:
    87
    Curtiu:
    93
    Sexo:
    Masculino
    Cubos:
    318.00
    Nick:
    HarvardBOLADU
    Em breve irei gladiador pelo celular, só fé
     
    alok curtiu isso.
  7. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    375
    Curtidas Recebidas:
    116
    Curtiu:
    82
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    511.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Jaja sai projeto novo :fantasma::olhos:
     
    HarvardBOLADU curtiu isso.
  8. DET0NA

    DET0NA Hardcore
    VIP

    Afiliado:
    24 Junho 2015
    Mensagens:
    21,096
    Curtidas Recebidas:
    3,143
    Curtiu:
    2,348
    Sexo:
    Masculino
    Ocupação:
    DET0NADUS
    Localização:
    DET0NADU
    Cubos:
    2,286.00
    Nick:
    DET0NADU
    Clan:
    DTN
    Nice tutorial :)
     
    HalloStar curtiu isso.
  9. VelhaGuarda

    VIP

    Afiliado:
    13 Agosto 2018
    Mensagens:
    280
    Curtidas Recebidas:
    112
    Curtiu:
    287
    Sexo:
    Masculino
    Cubos:
    560.00
    Nick:
    VelhaGuarda
    Clan:
    nLL
    So por ir pvp pelo celular
     
    HalloStar curtiu isso.
  10. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    375
    Curtidas Recebidas:
    116
    Curtiu:
    82
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    511.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Muito obrigadoo :peppobocao:
     
  11. Viker

    Viker Craftlandiano
    VIP

    Afiliado:
    19 Fevereiro 2015
    Mensagens:
    3,848
    Curtidas Recebidas:
    609
    Curtiu:
    1,590
    Sexo:
    Masculino
    Localização:
    Paraná
    Cubos:
    2,065.00
    Nick:
    Viker11
    Discord:
    mahoragax1
    Sensacional!
     
  12. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    375
    Curtidas Recebidas:
    116
    Curtiu:
    82
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    511.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Muito obrigado! :peppobocao::peppobravo:
     
  13. iP4tozera

    iP4tozera Craftlandiano
    VIP

    Afiliado:
    27 Janeiro 2016
    Mensagens:
    2,379
    Curtidas Recebidas:
    525
    Curtiu:
    442
    Sexo:
    Masculino
    Localização:
    Presidente...
    Cubos:
    560.00
    Nick:
    iP4To
    Clan:
    RsN
    Skype:
    peedroo.br
    Genio demais!
     
    HalloStar curtiu isso.
  14. _KauanGaming

    _KauanGaming Hardcore
    VIP

    Afiliado:
    25 Novembro 2016
    Mensagens:
    8,670
    Curtidas Recebidas:
    3,006
    Curtiu:
    2,373
    Sexo:
    Masculino
    Cubos:
    25,282.00
    Nick:
    _KauanGaming
    Discord:
    KauanGaming#9184
    PVP pelo celular vem aí hehe
     
  15. Jann

    Jann Excelente
    VIP

    Afiliado:
    15 Junho 2014
    Mensagens:
    408
    Curtidas Recebidas:
    209
    Curtiu:
    457
    Sexo:
    Masculino
    Ocupação:
    faz tudo
    Localização:
    ananideua PA
    Cubos:
    492.00
    Nick:
    jannpontes
    Discord:
    sion#5398
    Twitter:
    nao tenho
    YouTube:
    https://youtube.com/@jannzinho65
    Ja tem so que se precisa se adaptar primeiro