Пример #1
0
 function generate_var_type($var_array)
 {
     $gen = new generate();
     switch ($var_array['type']) {
         case 'text':
             $ret = $gen->text($var_array);
             break;
         case 'file':
             if ($var_array['command'] == 'image') {
                 $ret = $gen->image($var_array, $this->path);
             } elseif ($var_array['command'] == 'iframe') {
                 $ret = $gen->iframe($var_array, $this->path);
             }
             break;
         case 'select':
             $ret = $gen->select($var_array);
             break;
         default:
             $ret = '';
     }
     unset($gen);
     return $ret;
 }
Пример #2
0
 /**
  * generate response and sending message
  * @return [type] result of sending
  */
 public static function sendResponse($_prop)
 {
     if (self::$skipText && !\lib\utility\option::get('telegram', 'meta', 'debug')) {
         return false;
     }
     // if method is not set user sendmessage method
     if (!isset($_prop['method'])) {
         if (isset($_prop['text'])) {
             $_prop['method'] = 'sendMessage';
         } else {
             return 'method is not set!';
         }
     }
     switch ($_prop['method']) {
         // create send message format
         case 'sendMessage':
             // if chat id is not set then set it
             if (!isset($_prop['chat_id'])) {
                 // require chat id
                 $_prop['chat_id'] = self::response('chat');
             }
             // add reply message id
             if (isset($_prop['reply_to_message_id']) && $_prop['reply_to_message_id'] === true) {
                 $_prop['reply_to_message_id'] = $rsp;
                 if (!$_prop['reply_to_message_id']) {
                     unset($_prop['reply_to_message_id']);
                 }
             }
             break;
         case 'editMessageText':
         case 'editMessageCaption':
         case 'editMessageReplyMarkup':
             $_prop['chat_id'] = array_key_exists('chat_id', $_prop) ? $_prop['chat_id'] : self::response('chat');
             $_prop['message_id'] = array_key_exists('message_id', $_prop) ? $_prop['message_id'] : self::response('message_id');
             break;
         case 'getUserProfilePhotos':
             $_prop['user_id'] = self::response('from');
             break;
         case 'sendPhoto':
         case 'sendAudio':
         case 'sendDocument':
         case 'sendSticker':
         case 'sendVideo':
         case 'sendVoice':
         case 'sendLocation':
         case 'sendVenue':
         case 'sendContact':
         case 'sendChatAction':
         default:
             if (!isset($_prop['chat_id'])) {
                 // require chat id
                 $_prop['chat_id'] = self::response('chat');
             }
             break;
     }
     // if array key exist but is null
     if (array_key_exists('chat_id', $_prop) && is_null($_prop['chat_id'])) {
         $_prop['chat_id'] = \lib\utility::get('id');
     }
     // if on answer we have callback analyse it and send answer
     if (isset($_prop['callback']) && isset($_prop['callback']['text'])) {
         // generate callback query
         $data = ['callback_query_id' => self::response('callback_query_id'), 'text' => $_prop['callback']['text']];
         if (isset($_prop['callback']['show_alert'])) {
             $data['show_alert'] = $_prop['callback']['show_alert'];
         }
         // call callback answer
         self::answerCallbackQuery($data);
         // unset callback
         unset($_prop['callback']);
     }
     // replace values of text and markup
     $_prop = generate::replaceFill($_prop);
     // decode markup if exist
     if (isset($_prop['is_json']) && $_prop['is_json'] == false && isset($_prop['reply_markup'])) {
         $_prop['reply_markup'] = json_encode($_prop['reply_markup'], JSON_UNESCAPED_UNICODE);
     }
     // markdown is enable by default
     if (isset($_prop['text']) && !isset($_prop['parse_mode'])) {
         $_prop['parse_mode'] = 'markdown';
     }
     // call bot send message func
     $funcName = 'self::' . $_prop['method'];
     $result = call_user_func($funcName, $_prop);
     // return result of sending
     return $result;
 }