Conteúdos

Enviando avisos no Telegram usando Monolog

Conteúdos

O telegram é uma ótima ferramenta de conversas, permitindo criar grupos gigantescos e integrações diversas com bots.

Aqui iremos usar o monolog para enviar mensagens a um grupo do telegram.

Para começar, vamos incluir a biblioteca que adiciona o handler de telegram para o monolog:

1
composer require mero/telegram-handler

Agora, vamos criar o nosso bot, no Telegram:

  • Inicie uma conversa com o @BotFather e digite /newbot
  • Ele irá te perguntar o nome do Bot, de o nome que quiser
  • Logo depois ele irá perguntar o username do bot, este precisa necessariamente terminar com Bot (ex: MeuSiteBot)
  • Então ele irá te passar o token para acesso.
  • Ainda no @BotFather, digite /setjoingroups e clica em Enable
  • Vá no grupo que queira enviar as mensagens e adiciona seu novo bot como membro.
  • Agora vá no link: https://api.telegram.org/botXXXXXXXXX:XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX/getUpdates, onde os “X” deve ser substituido pelo token que o @BotFather te passou.
  • Você reberá um JSON com os dados das ultimas conversas do Bot, uma dessas informações é sobre o seu bot ter sido adicionado ao grupo. Procure pelo Chat id:
    chat_id
    Chat id

Agora adiciona no seu código o seguinte trecho:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<?php

$log = new \Monolog\Logger('telegram_channel');

$handler = new \Mero\Monolog\Handler\TelegramHandler(
    '000000000:XXXXX-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    111111111,
    \Monolog\Logger::DEBUG
  );

$handler->setFormatter(new \Monolog\Formatter\LineFormatter());
$log->pushHandler($handler);

$log->debug('Message log');

Substitua 000000000:XXXXX-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx pelo seu token, e 111111111 pelo chat id do grupo.

Pronto, agora todo log será enviado para o grupo do Telegram.