Size: a a a

Telegram Developers

2016 April 06

G

GNU/Плюшка in Telegram Developers
по хорошему, text тоже надо оборачивать в урленкод
источник

G

GNU/Плюшка in Telegram Developers
<?php
class TelegramBot{
       protected $token;
       public function __construct($token){
               $this->token = $token;
       }

       public function getApiUrl(){
               return "https://api.telegram.org/bot{$this->token}/";
       }

       protected function buildParams($params){
               $s = [];
               foreach($params as $k=>$v){
                       array_push($s,"{$k}=>{urlencode($v)}");
               }
               return implode($s,"&");
       }

       public function buildUrl($method,$params){
               return $this->getApiUrl().$method."?".$this->buildParams($params);
       }

       public function query($method,$params){
               return json_decode(file_get_contents($this->buildUrl($method,$params)),true);
       }
}
?>

вот готовый класс
источник

LX

Logos X in Telegram Developers
Готовый класс для чего?
источник

G

GNU/Плюшка in Telegram Developers
для бота
источник

LX

Logos X in Telegram Developers
А класс *чего* для бота?
источник

G

GNU/Плюшка in Telegram Developers
бота
источник

G

GNU/Плюшка in Telegram Developers
а что не так?
источник

LX

Logos X in Telegram Developers
все верно. это каркас всего бота в 1 классе
источник

LX

Logos X in Telegram Developers
сорри
источник

VM

Vasilij Melnychuk in Telegram Developers
GNU/Плюшка
<?php
class TelegramBot{
       protected $token;
       public function __construct($token){
               $this->token = $token;
       }

       public function getApiUrl(){
               return "https://api.telegram.org/bot{$this->token}/";
       }

       protected function buildParams($params){
               $s = [];
               foreach($params as $k=>$v){
                       array_push($s,"{$k}=>{urlencode($v)}");
               }
               return implode($s,"&");
       }

       public function buildUrl($method,$params){
               return $this->getApiUrl().$method."?".$this->buildParams($params);
       }

       public function query($method,$params){
               return json_decode(file_get_contents($this->buildUrl($method,$params)),true);
       }
}
?>

вот готовый класс
зачем getUrlApi? Тоесть не сам метод, а название. Tell, don’t ask, как говорят - почему не делать просто urlAPI?
источник

VM

Vasilij Melnychuk in Telegram Developers
ты же не пишешь getBuildedURL
источник

VM

Vasilij Melnychuk in Telegram Developers
зачем эта промежуточная переменная $s? Есть же array_map
источник

VM

Vasilij Melnychuk in Telegram Developers
зачем getApiUrl в паблике? это же внутренняя реализация класса
источник

VM

Vasilij Melnychuk in Telegram Developers
так же как и билдЮрл
источник

VM

Vasilij Melnychuk in Telegram Developers
Ладно язык плох - это понятно, но почему не пытаться понятнее на нем писать?
источник

AB

Alex Bite in Telegram Developers
о! 101 класс для телеграмовых ботов на РНР! 🙈
источник

AB

Alex Bite in Telegram Developers
Да лан я сам такой: https://github.com/NeonXP/TelegramApi
источник

LX

Logos X in Telegram Developers
нече так)
источник

LX

Logos X in Telegram Developers
а там точно 101?
источник

AB

Alex Bite in Telegram Developers
±100
источник