Monitore com Power Shell quando pesque algum livro

Bem-vindo!

Ao se registrar conosco, você poderá discutir, compartilhar e enviar mensagens privadas com outros membros da nossa comunidade.

Inscreva-se agora!
Status
Não está aberto para novas respostas.

Franci163

Neutro
Entrou
Fev 21, 2015
Mensagens
32
Cubos
0
**** ATUALIZAÇÃO: INTEGRAÇÃO COM O TELEGRAM ****

Fala, galera.
Fiz um script para windows com power shell para monitorar o arquivo de mensagens do craftlandia, que, quando encontrado a mensagem "Você pescou um tesouro", ele mostra na prompt, evitando que tenhamos que abrir o /correios no jogo.
  1. Abrir o bloco de notas do windows e colar o comando abaixo (mude o caminho do arquivo para o local onde se encontra no seu computador):
    • # Caminho do arquivo de mensagens do craftlandia
      $arquivo = "D:\SLEEP ModPack 4.2 - Anti-Hack\CraftLandia\1.5\data\.minecraft\output-client.log"
      $telegram = "https://api.telegram.org/bot{token}/sendMessage?chat_id={seu_chat_id}&text=Voce%20pescou%20um%20tesouro"

      # Não mexa aqui
      $contagemAnterior = 0


      # Loop infinito que executa a verificação a cada 10 segundos
      while ($true) {
      # Lê o conteúdo do arquivo
      $conteudo = Get-Content $arquivo

      # Verifica o número de ocorrências da frase "um item em seu correio"
      $ocorrencias = ($conteudo | Select-String -Pattern "SeuNick.*Tesouro").Count
      $correios = ($conteudo | Select-String -Pattern "um item em seu correio").Count
      $tesourosTotais = ($conteudo | Select-String -Pattern "Pescou.*Tesouro").Count


      if ($ocorrencias -gt $contagemAnterior) {
      # Exibe a quantidade de vezes que a frase foi encontrada
      Write-Host "Novo livro encontrado: $ocorrencias. Contagem anterior: $contagemAnterior"

      # Atualiza a contagem anterior
      $contagemAnterior = $ocorrencias
      Invoke-WebRequest $telegram
      $data = Get-Date -Format "dd/MM/yyyy HH:mm:ss"
      }
      else {
      $porcentagem = ($ocorrencias/$tesourosTotais) * 100
      $arredondado = [math]::Round($porcentagem, 2)
      Write-Host "Livros totais encontrados por mim: $ocorrencias"
      Write-Host "Itens totais em correio: $correios"
      Write-Host "Livros totais server: $tesourosTotais"
      Write-Host "$arredondado % de tesouros pescados"
      Write-Host "Ultimo livro pescado: $data"
      Write-Host "--------------------------------------------------"
      }
      Start-Sleep -Seconds 10
      }
  2. Salve o arquivo em Salvar Como e escolha um nome com o final .ps1
  3. Abra o power shell do windows, va até o diretorio onde salvou o arquivo e digite seu nome no Power Shell

Legenda:
  • Livros encontrados por mim: Quantidade de tesouros que você pescou
  • Itens totais em correio: Quantidade de itens que você já pescou e foi parar no /correio
  • Livros totais server: Total de tesouros pescados por outros players
  • % de tesouros pescados: a porcentagem de tesouros que você pescou em relação a quantidade total pescada
  • Último livro pescado: Data e hora do último tesouro que vc pescou *
A data vai atualizar sempre que você fechar e abrir o script, ou seja, só contará de verdade a última vez que você pescou um tesouro se você não fechar o arquivo

Fiz uma integração com a Alexa, caso tenham interesse em saber comentem no post.
Na minha integração, toda vez que eu pesco um tesouro, recebo uma notificação no celular e a Alexa me avisa que pesquei um tesouro.
 
Última edição:
Pqp, ai tu zerou o game kkkkkk os viciados vão ficar ansioso vendo a notificação quando pegar livros, eu não irei usar agora, mas irei salvar, não tenho alexa, mas seria top tbm, e é bom para eu ter controle das fakes, muito interessante parabéns!
 
Pqp, ai tu zerou o game kkkkkk os viciados vão ficar ansioso vendo a notificação quando pegar livros, eu não irei usar agora, mas irei salvar, não tenho alexa, mas seria top tbm, e é bom para eu ter controle das fakes, muito interessante parabéns!
Eu tava desse jeito kkkk
 
Aí galera, atualizei o post, agora integrando com o telegram.
Para mais informações sobre como criar o bot, token e pegar o id do chat do telegram entre no site https://core.telegram.org/bots
Agora ficou top. Abre brecha pra desenvolver outros scripts em cima deste usando de base, como por exemplo receber a cada x minutos qual o /stats de uma conta que está upando por exemplo. Ou então para saber se a conta continua upando e com isso poderá monitorar de qualquer local via mobile.
 
Agora ficou top. Abre brecha pra desenvolver outros scripts em cima deste usando de base, como por exemplo receber a cada x minutos qual o /stats de uma conta que está upando por exemplo. Ou então para saber se a conta continua upando e com isso poderá monitorar de qualquer local via mobile.
Sim sim, isso facilita demais, pelo menos para saber se está online. Seria só verificar a última vez que teve mensagem no chat
 
Melhorias no código
@Franci163 Fiz algumas alterações para facilitar para quem for utilizar o código.

Obtive um erro Também se eu não tiver recebido nenhum tesouro recebo um erro na divisão por 0.

Alterei todas as variáveis para o início do código para facilitar a quem for utilizar, e acrescentei alguns tutoriais também.

Agora além do código estático se quiser pode editar a velocidade verificada, pois às vezes verificar a cada 10 segundos pode gerar um pouco de desgaste dependendo da quantidade de Hardware das máquinas.

Código testado e aprovado.
Segue link para baixar o arquivo já completo [É preciso editar os dados conforme os seus]
https://www.mediafire.com/file/nz5hq26uhnmkv8g/shell.ps1/file


Código:
#Seu Nick no jogo
$nick = "Josefelipe"

#Dados para o grupo telegram e BOT -> breve tutorial de como fazer https://pastebin.com/raw/JysMUs2a
#Os dois campos devem ser alterados.
$grupoId = -1051948944831
$botToken = "6397564399:AAFqhYc_f8gnVK5h2lSV08CCcJu7K30Tuos"

#Você deve procurar este arquivo e se atentar ao diretorio, entre na pasta .minecraft da versão que você usa do modpack.
# exemplo do arquivo que é utilizado -> https://prnt.sc/s5yESL9oR8Ik
$arquivo = "C:\Users\josefelipe\Downloads\SLEEP ModPack Farewell\SLEEP ModPack Farewell\CraftLandia\1.5\data\.minecraft\output-client.log"

#Defina a cada quanto tempo é verificado o arquivo pode ser alterado.
$tempoVerificar = 10





#Abaixo não editar nenhum campo a menos que você entenda oque está fazendo!!!!!!!


$telegram = "https://api.telegram.org/bot$botToken/sendMessage?chat_id=$grupoId&text=Voce%20pescou%20um%20tesouro"
# Não mexa aqui
$contagemAnterior = 0

# Loop infinito que executa a verificação a cada 10 segundos
while ($true) {
# Lê o conteúdo do arquivo
$conteudo = Get-Content $arquivo

# Verifica o número de ocorrências da frase "um item em seu correio"
$ocorrencias = ($conteudo | Select-String -Pattern "$nick.*Tesouro").Count
$correios = ($conteudo | Select-String -Pattern "um item em seu correio").Count
$tesourosTotais = ($conteudo | Select-String -Pattern "Pescou.*Tesouro").Count


if ($ocorrencias -gt $contagemAnterior) {
# Exibe a quantidade de vezes que a frase foi encontrada
Write-Host "Novo livro encontrado: $ocorrencias. Contagem anterior: $contagemAnterior"

# Atualiza a contagem anterior
$contagemAnterior = $ocorrencias
Invoke-WebRequest $telegram
$data = Get-Date -Format "dd/MM/yyyy HH:mm:ss"
}
else {
    #Caso o usuario não tenha pescado nada vai gerar um erro, sendo assim comparamos se for < 1 o total de tesouros não faz nada
    if ($tesourosTotais -lt 1) {
        Write-Host "Ate o momento nao foram encontrados registros no Log de livros."
    }else{
        $porcentagem = ($ocorrencias/$tesourosTotais) * 100
        $arredondado = [math]::Round($porcentagem, 2)
        Write-Host "Livros totais encontrados por mim: $ocorrencias"
        Write-Host "Itens totais em correio: $correios"
        Write-Host "Livros totais server: $tesourosTotais"
        Write-Host "$arredondado % de tesouros pescados"
        Write-Host "Ultimo livro pescado: $data"
        Write-Host "--------------------------------------------------"
    }

}
Start-Sleep -Seconds $tempoVerificar
}
 
Melhorias no código
@Franci163 Fiz algumas alterações para facilitar para quem for utilizar o código.

Obtive um erro Também se eu não tiver recebido nenhum tesouro recebo um erro na divisão por 0.

Alterei todas as variáveis para o início do código para facilitar a quem for utilizar, e acrescentei alguns tutoriais também.

Agora além do código estático se quiser pode editar a velocidade verificada, pois às vezes verificar a cada 10 segundos pode gerar um pouco de desgaste dependendo da quantidade de Hardware das máquinas.

Código testado e aprovado.
Segue link para baixar o arquivo já completo [É preciso editar os dados conforme os seus]
https://www.mediafire.com/file/nz5hq26uhnmkv8g/shell.ps1/file


Código:
#Seu Nick no jogo
$nick = "Josefelipe"

#Dados para o grupo telegram e BOT -> breve tutorial de como fazer https://pastebin.com/raw/JysMUs2a
#Os dois campos devem ser alterados.
$grupoId = -1051948944831
$botToken = "6397564399:AAFqhYc_f8gnVK5h2lSV08CCcJu7K30Tuos"

#Você deve procurar este arquivo e se atentar ao diretorio, entre na pasta .minecraft da versão que você usa do modpack.
# exemplo do arquivo que é utilizado -> https://prnt.sc/s5yESL9oR8Ik
$arquivo = "C:\Users\josefelipe\Downloads\SLEEP ModPack Farewell\SLEEP ModPack Farewell\CraftLandia\1.5\data\.minecraft\output-client.log"

#Defina a cada quanto tempo é verificado o arquivo pode ser alterado.
$tempoVerificar = 10





#Abaixo não editar nenhum campo a menos que você entenda oque está fazendo!!!!!!!


$telegram = "https://api.telegram.org/bot$botToken/sendMessage?chat_id=$grupoId&text=Voce%20pescou%20um%20tesouro"
# Não mexa aqui
$contagemAnterior = 0

# Loop infinito que executa a verificação a cada 10 segundos
while ($true) {
# Lê o conteúdo do arquivo
$conteudo = Get-Content $arquivo

# Verifica o número de ocorrências da frase "um item em seu correio"
$ocorrencias = ($conteudo | Select-String -Pattern "$nick.*Tesouro").Count
$correios = ($conteudo | Select-String -Pattern "um item em seu correio").Count
$tesourosTotais = ($conteudo | Select-String -Pattern "Pescou.*Tesouro").Count


if ($ocorrencias -gt $contagemAnterior) {
# Exibe a quantidade de vezes que a frase foi encontrada
Write-Host "Novo livro encontrado: $ocorrencias. Contagem anterior: $contagemAnterior"

# Atualiza a contagem anterior
$contagemAnterior = $ocorrencias
Invoke-WebRequest $telegram
$data = Get-Date -Format "dd/MM/yyyy HH:mm:ss"
}
else {
    #Caso o usuario não tenha pescado nada vai gerar um erro, sendo assim comparamos se for < 1 o total de tesouros não faz nada
    if ($tesourosTotais -lt 1) {
        Write-Host "Ate o momento nao foram encontrados registros no Log de livros."
    }else{
        $porcentagem = ($ocorrencias/$tesourosTotais) * 100
        $arredondado = [math]::Round($porcentagem, 2)
        Write-Host "Livros totais encontrados por mim: $ocorrencias"
        Write-Host "Itens totais em correio: $correios"
        Write-Host "Livros totais server: $tesourosTotais"
        Write-Host "$arredondado % de tesouros pescados"
        Write-Host "Ultimo livro pescado: $data"
        Write-Host "--------------------------------------------------"
    }

}
Start-Sleep -Seconds $tempoVerificar
}

Tá ótimo! Vai facilitar bastante.
 
Status
Não está aberto para novas respostas.

Users who are viewing this thread

Voltar
Topo