mediatekformation

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

phpstan-import-type

Record from \Monolog\Logger

Table of Contents

AVAILABLE_PARSE_MODES  = ['HTML', 'MarkdownV2', 'Markdown']
The available values of parseMode according to the Telegram api documentation
BOT_API  = 'https://api.telegram.org/bot'
$bubble  : bool
$formatter  : FormatterInterface|null
$level  : int
$processors  : array<string|int, callable>
$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
__sleep()  : mixed
close()  : void
Closes the handler.
disableNotification()  : self
disableWebPagePreview()  : self
getBubble()  : bool
Gets the bubbling behavior.
getFormatter()  : FormatterInterface
{@inheritDoc}
getLevel()  : int
Gets minimum logging level at which this handler will be triggered.
handle()  : bool
{@inheritDoc}
handleBatch()  : void
{@inheritDoc}
isHandling()  : bool
{@inheritDoc}
popProcessor()  : callable
{@inheritDoc}
pushProcessor()  : HandlerInterface
{@inheritDoc}
reset()  : void
setBubble()  : self
Sets the bubbling behavior.
setFormatter()  : HandlerInterface
{@inheritDoc}
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.
resetProcessors()  : void
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

The available values of parseMode according to the Telegram api documentation

private mixed AVAILABLE_PARSE_MODES = ['HTML', 'MarkdownV2', 'Markdown']

Properties

$level

protected int $level = \Monolog\Logger::DEBUG
Tags
phpstan-var

Level

$processors

protected array<string|int, callable> $processors = []
Tags
phpstan-var

array<ProcessorInterface|callable(Record): Record>

$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
Return values
mixed —

__destruct()

public __destruct() : mixed
Return values
mixed —

__sleep()

public __sleep() : mixed
Return values
mixed —

close()

Closes the handler.

public close() : void
Return values
void —

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
Tags
phpstan-return

Level

Return values
int —

handle()

{@inheritDoc}

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

handleBatch()

{@inheritDoc}

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

isHandling()

{@inheritDoc}

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

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(mixed $level) : self
Parameters
$level : mixed
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>
Tags
phpstan-param

Record $record

phpstan-return

Record

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