Documentation

TelegramBotHandler extends AbstractProcessingHandler
in package

Handler send logs to Telegram using Telegram Bot API.

How to use:

  1. Create telegram bot with https://telegram.me/BotFather
  2. Create a telegram channel where logs will be recorded.
  3. Add created bot from step 1 to the created channel from step 2.

Use telegram bot API key from step 1 and channel name with '@' prefix from step 2 to create instance of TelegramBotHandler

Tags
link
https://core.telegram.org/bots/api
author

Mazur Alexandr alexandrmazur96@gmail.com

Table of Contents

AVAILABLE_PARSE_MODES  = ['HTML', 'MarkdownV2', 'Markdown']
BOT_API  = 'https://api.telegram.org/bot'
$bubble  : mixed
$formatter  : FormatterInterface
$level  : mixed
$processors  : mixed
$apiKey  : string
Telegram bot access token provided by BotFather.
$channel  : string
Telegram channel name.
$disableNotification  : bool|null
Sends the message silently. Users will receive a notification with no sound.
$disableWebPagePreview  : bool|null
Disables link previews for links in the message.
$parseMode  : string|null
The kind of formatting that is used for the message.
__construct()  : mixed
__destruct()  : mixed
close()  : mixed
Closes the handler.
disableNotification()  : self
disableWebPagePreview()  : self
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
Gets the formatter.
getLevel()  : int
Gets minimum logging level at which this handler will be triggered.
handle()  : mixed
{@inheritdoc}
handleBatch()  : mixed
Handles a set of records at once.
isHandling()  : bool
Checks whether the given record will be handled by this handler.
popProcessor()  : callable
Removes the processor on top of the stack and returns it.
pushProcessor()  : self
Adds a processor in the stack.
reset()  : mixed
setBubble()  : self
Sets the bubbling behavior.
setFormatter()  : self
Sets the formatter.
setLevel()  : self
Sets minimum logging level at which this handler will be triggered.
setParseMode()  : self
getDefaultFormatter()  : FormatterInterface
Gets the default formatter.
processRecord()  : array<string|int, mixed>
Processes a record.
send()  : void
Send request to @link https://api.telegram.org/bot on SendMessage action.
write()  : void
Writes the record down to the log of the implementing handler

Constants

AVAILABLE_PARSE_MODES

private array<string|int, mixed> AVAILABLE_PARSE_MODES = ['HTML', 'MarkdownV2', 'Markdown']

AVAILABLE_PARSE_MODES The available values of parseMode according to the Telegram api documentation

Properties

$apiKey

Telegram bot access token provided by BotFather.

private string $apiKey

Create telegram bot with https://telegram.me/BotFather and use access token from it.

$channel

Telegram channel name.

private string $channel

Since to start with '@' symbol as prefix.

$disableNotification

Sends the message silently. Users will receive a notification with no sound.

private bool|null $disableNotification

$disableWebPagePreview

Disables link previews for links in the message.

private bool|null $disableWebPagePreview

$parseMode

The kind of formatting that is used for the message.

private string|null $parseMode

See available options at https://core.telegram.org/bots/api#formatting-options or in AVAILABLE_PARSE_MODES

Methods

__construct()

public __construct(string $apiKey, string $channel[, mixed $level = Logger::DEBUG ][, bool $bubble = true ][, string $parseMode = null ][, bool $disableWebPagePreview = null ][, bool $disableNotification = null ]) : mixed
Parameters
$apiKey : string

Telegram bot access token provided by BotFather

$channel : string

Telegram channel name

$level : mixed = Logger::DEBUG
$bubble : bool = true
$parseMode : string = null
$disableWebPagePreview : bool = null
$disableNotification : bool = null
Tags
inheritDoc
Return values
mixed —

close()

Closes the handler.

public close() : mixed

This will be called automatically when the object is destroyed

Return values
mixed —

disableNotification()

public disableNotification([bool $disableNotification = null ]) : self
Parameters
$disableNotification : bool = null
Return values
self —

disableWebPagePreview()

public disableWebPagePreview([bool $disableWebPagePreview = null ]) : self
Parameters
$disableWebPagePreview : bool = null
Return values
self —

getBubble()

Gets the bubbling behavior.

public getBubble() : bool
Return values
bool —

true means that this handler allows bubbling. false means that bubbling is not permitted.

getLevel()

Gets minimum logging level at which this handler will be triggered.

public getLevel() : int
Return values
int —

handle()

{@inheritdoc}

public handle(array<string|int, mixed> $record) : mixed
Parameters
$record : array<string|int, mixed>
Return values
mixed —

handleBatch()

Handles a set of records at once.

public handleBatch(array<string|int, mixed> $records) : mixed
Parameters
$records : array<string|int, mixed>

The records to handle (an array of record arrays)

Return values
mixed —

isHandling()

Checks whether the given record will be handled by this handler.

public isHandling(array<string|int, mixed> $record) : bool
Parameters
$record : array<string|int, mixed>

Partial log record containing only a level key

Return values
bool —

popProcessor()

Removes the processor on top of the stack and returns it.

public popProcessor() : callable
Return values
callable —

pushProcessor()

Adds a processor in the stack.

public pushProcessor(mixed $callback) : self
Parameters
$callback : mixed
Return values
self —

setBubble()

Sets the bubbling behavior.

public setBubble(bool $bubble) : self
Parameters
$bubble : bool

true means that this handler allows bubbling. false means that bubbling is not permitted.

Return values
self —

setLevel()

Sets minimum logging level at which this handler will be triggered.

public setLevel(int|string $level) : self
Parameters
$level : int|string

Level or level name

Return values
self —

setParseMode()

public setParseMode([string $parseMode = null ]) : self
Parameters
$parseMode : string = null
Return values
self —

processRecord()

Processes a record.

protected processRecord(array<string|int, mixed> $record) : array<string|int, mixed>
Parameters
$record : array<string|int, mixed>
Return values
array<string|int, mixed> —

send()

Send request to @link https://api.telegram.org/bot on SendMessage action.

protected send(string $message) : void
Parameters
$message : string
Return values
void —

write()

Writes the record down to the log of the implementing handler

protected write(array<string|int, mixed> $record) : void
Parameters
$record : array<string|int, mixed>
Tags
inheritDoc
Return values
void —

Search results