File "TelegramMessage.php"
Full Path: /home/fundopuh/trader.fxex.org/vendor/laravel-notification-channels/telegram/src/TelegramMessage.php
File size: 1.56 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace NotificationChannels\Telegram;
use Illuminate\Support\Facades\View;
use JsonSerializable;
use NotificationChannels\Telegram\Traits\HasSharedLogic;
/**
* Class TelegramMessage.
*/
class TelegramMessage implements JsonSerializable
{
use HasSharedLogic;
/** @var int Message Chunk Size */
public $chunkSize;
public function __construct(string $content = '')
{
$this->content($content);
$this->payload['parse_mode'] = 'Markdown';
}
public static function create(string $content = ''): self
{
return new self($content);
}
/**
* Notification message (Supports Markdown).
*
* @return $this
*/
public function content(string $content, int $limit = null): self
{
$this->payload['text'] = $content;
if ($limit) {
$this->chunkSize = $limit;
}
return $this;
}
/**
* Attach a view file as the content for the notification.
* Supports Laravel blade template.
*
* @return $this
*/
public function view(string $view, array $data = [], array $mergeData = []): self
{
return $this->content(View::make($view, $data, $mergeData)->render());
}
/**
* Chunk message to given size.
*
* @return $this
*/
public function chunk(int $limit = 4096): self
{
$this->chunkSize = $limit;
return $this;
}
/**
* Should the message be chunked.
*/
public function shouldChunk(): bool
{
return null !== $this->chunkSize;
}
}