for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace LeoCarmo\TelegramBot\Model;
use LeoCarmo\TelegramBot\Exceptions\RequiredParameterException;
use LeoCarmo\TelegramBot\Traits\Fillable;
use LeoCarmo\TelegramBot\Traits\Request;
abstract class Model
{
use Fillable;
use Request;
LeoCarmo\TelegramBot\Traits\Request
LeoCarmo\TelegramBot\Model\Model
$error_code
$result
/**
* @url https://core.telegram.org/bots/api#available-methods
* @var string
*/
protected $method;
* @var array
protected $required = [];
* Fill with parameters
*
* @param array $data
* @return $this
public function fill(array $data = [])
$this->fillData($data);
return $this;
}
* Send action/request
* @return array
* @throws RequiredParameterException
public function send()
$this->checkRequired();
return $this->sendRequest(
$this->collectParameters()
);
private function collectParameters()
$filtered = array_filter(get_object_vars($this));
return array_diff_key($filtered, get_class_vars(self::class));
private function checkRequired()
if (count($this->required)) {
foreach ($this->required as $required) {
if (! $this->$required) {
throw new RequiredParameterException($required);