[TUTORIAL] Envio de Arquivos / macros para Telegram (PowerShell)

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

  1. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    370
    Curtidas Recebidas:
    114
    Curtiu:
    81
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    504.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Olá, para você que como eu gosta de automação.
    Objetivo
    Desenvolver um Script que vai logo mais fazer parte de algo maior que estou desenvolvendo que integrará o modpack juntamente com um grupo de telegram, enviando arquivos, registros em tempo real do que ocorre dentro da modpack.

    Deixo para a comunidade com intuito que possa auxiliar novos desenvolvedores em algum projeto.
    Resultados e recomendações
    No tutorial de hoje trago um Script desenvolvido em PowerShell para enviar arquivos quaisquer que você queira para o Telegram.
    O Script funciona obtendo o arquivo e enviando ele via API para o grupo desejado.


    Dados interessantes para leitura:

    Como Utilizar:
    1. Salve o arquivo como PowerShell (Extensão deve ser ps1).
    2. Execute com o PowerShell ou programe no agendador de tarefas.
    3. Uso a seu critério, não me responsabilizo com devida utilização.
    #Informações do script
    #O arquivo tem de possuir dados, arquivo vazio não é enviado.
    #Deve gerar um BOT por exemplo no BotFather para poder


    # Configurações
    $BotToken = '6397064394:AAFqhYc_f8gnVK5g2lSV08CCcJu7K30Tus5'
    $ChatID = '-1001948244931'
    $FilePath = 'basedados.sql'


    # Verifica se o arquivo existe
    if (-not (Test-Path $FilePath)) {
    Write-Host "Arquivo não encontrado: $FilePath"
    exit 1
    }

    # Lê o conteúdo do arquivo em bytes
    $fileBytes = [System.IO.File]::ReadAllBytes($FilePath)

    # Monta o corpo da requisição
    $boundary = "----WebKitFormBoundary" + [Guid]::NewGuid().ToString()
    $Body = "--$boundary`r`n" +
    "Content-Disposition: form-data; name=`"chat_id`"`r`n`r`n" +
    "$ChatID`r`n" +
    "--$boundary`r`n" +
    "Content-Disposition: form-data; name=`"document`"; filename=`"$(Split-Path -Leaf $FilePath)`"`r`n" +
    "Content-Type: application/octet-stream`r`n`r`n" +
    [System.Text.Encoding]::UTF8.GetString($fileBytes) + "`r`n" +
    "--$boundary--`r`n"

    # URL da API do Telegram
    $Uri = "https://api.telegram.org/bot$BotToken/sendDocument"

    # Envia a requisição
    try {
    $response = Invoke-RestMethod -Uri $Uri -Method Post -Body ([System.Text.Encoding]::UTF8.GetBytes($Body)) -ContentType "multipart/form-data; boundary=$boundary"

    if ($response.ok) {
    Write-Host "[Y] Documento enviado com sucesso!"
    } else {
    Write-Host "[X] Erro ao enviar: $($response.description)"
    }
    } catch {
    Write-Error "Erro ao enviar o documento: $_"
    }

    Trabalho Futuro
    Desenvolvimento de uma sequência utilizando macro e PowerShell para enviar informações da conta do jogador como Nivel de Skills atual no momento da leitura.
    Visto isso para o jogador ter controle, por exemplo, de qual Nivel que está e está upando ou travado.

    Abraços, até breve.
     
    lomexicano e Punish3r curtiram isso.
  2. Punish3r

    Punish3r Excelente
    Coordenação

    Afiliado:
    10 Maio 2020
    Mensagens:
    416
    Curtidas Recebidas:
    286
    Curtiu:
    108
    Sexo:
    Masculino
    Cubos:
    673.00
    Nick:
    Punish3r
    Gênio, parabéns pelo avanço garoto.
     
  3. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    370
    Curtidas Recebidas:
    114
    Curtiu:
    81
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    504.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Muito obrigado!
     
    Punish3r curtiu isso.
  4. DET0NA

    DET0NA Hardcore
    VIP

    Afiliado:
    24 Junho 2015
    Mensagens:
    21,085
    Curtidas Recebidas:
    3,140
    Curtiu:
    2,347
    Sexo:
    Masculino
    Ocupação:
    DET0NADUS
    Localização:
    DET0NADU
    Cubos:
    2,272.00
    Nick:
    DET0NADU
    Clan:
    DTN
    Nice tutorial :)
     
  5. lomexicano

    lomexicano Craftlandiano
    VIP

    Afiliado:
    20 Agosto 2013
    Mensagens:
    655
    Curtidas Recebidas:
    898
    Curtiu:
    785
    Sexo:
    Masculino
    Ocupação:
    Mestrando...
    Localização:
    Rio Grande...
    Cubos:
    2,513.00
    Nick:
    lomexicano
    Discord:
    lomexicano
    YouTube:
    LoMexicano
  6. HalloStar

    HalloStar Bom
    Moderação

    Afiliado:
    13 Outubro 2015
    Mensagens:
    370
    Curtidas Recebidas:
    114
    Curtiu:
    81
    Sexo:
    Masculino
    Localização:
    Brazil
    Cubos:
    504.00
    Nick:
    Josefelipe
    Clan:
    ---
    Twitter:
    ------
    Obrigado mestre, estou já trabalhando em outro projeto, em breve posto para comunidade.
     
    lomexicano curtiu isso.