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; }
/** * 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; }