Longman\TelegramBot\DB::insertCallbackQueryRequest PHP Метод

insertCallbackQueryRequest() публичный статический Метод

Insert callback query request into database
public static insertCallbackQueryRequest ( CallbackQuery $callback_query ) : boolean
$callback_query Longman\TelegramBot\Entities\CallbackQuery
Результат boolean If the insert was successful
    public static function insertCallbackQueryRequest(CallbackQuery $callback_query)
    {
        if (!self::isDbConnected()) {
            return false;
        }
        try {
            $sth = self::$pdo->prepare('
                INSERT IGNORE INTO `' . TB_CALLBACK_QUERY . '`
                (`id`, `user_id`, `chat_id`, `message_id`, `inline_message_id`, `data`, `created_at`)
                VALUES
                (:callback_query_id, :user_id, :chat_id, :message_id, :inline_message_id, :data, :created_at)
            ');
            $date = self::getTimestamp();
            $callback_query_id = $callback_query->getId();
            $from = $callback_query->getFrom();
            $user_id = null;
            if ($from instanceof User) {
                $user_id = $from->getId();
                self::insertUser($from, $date);
            }
            $message = $callback_query->getMessage();
            $chat_id = null;
            $message_id = null;
            if ($message instanceof Message) {
                $chat_id = $message->getChat()->getId();
                $message_id = $message->getMessageId();
                $is_message = self::$pdo->query('
                    SELECT *
                    FROM `' . TB_MESSAGE . '`
                    WHERE `id` = ' . $message_id . '
                      AND `chat_id` = ' . $chat_id . '
                    LIMIT 1
                ')->rowCount();
                if ($is_message) {
                    self::insertEditedMessageRequest($message);
                } else {
                    self::insertMessageRequest($message);
                }
            }
            $inline_message_id = $callback_query->getInlineMessageId();
            $data = $callback_query->getData();
            $sth->bindParam(':callback_query_id', $callback_query_id, PDO::PARAM_INT);
            $sth->bindParam(':user_id', $user_id, PDO::PARAM_INT);
            $sth->bindParam(':chat_id', $chat_id, PDO::PARAM_INT);
            $sth->bindParam(':message_id', $message_id, PDO::PARAM_INT);
            $sth->bindParam(':inline_message_id', $inline_message_id, PDO::PARAM_STR);
            $sth->bindParam(':data', $data, PDO::PARAM_STR);
            $sth->bindParam(':created_at', $date, PDO::PARAM_STR);
            return $sth->execute();
        } catch (PDOException $e) {
            throw new TelegramException($e->getMessage());
        }
    }