public function sendMessage($body)
    {
        $action = 'sendMessage';
        
        $telegram = [
            'chat_id' => $body['recipient']['id']
        ];

        $message = $body['message'];

        // Send Text
        if (isset($message['text'])) {
            $telegram['text'] = $message['text'];
        }

        // Sending Attachment
        if (isset($message['attachment']['type'])) {

             // Send Audio, Video, Image, File
            $convert = [
                'image' => 'photo',
                'audio' => 'audio',
                'video' => 'video',
                'file'  => 'document'
            ];

            foreach ($convert as $facebook_template => $telegram_template)
            {
                if ($message['attachment']['type'] === $facebook_template) {
                    $telegram[$telegram_template] = $message['attachment']['payload']['url'];
                    $action = 'send' . ucfirst($telegram_template);

                    return $this->callMethod($action, $telegram);
                }
            }
            
            // Sending Button, Generic, List
            if ($message['attachment']['type'] === 'template' && 
                isset($message['attachment']['payload'])):

                // Facebook Button will be converted to InlineKeyboard
                if ($message['attachment']['payload']['template_type'] === 'button') {
                    return $this->sendButtons($message['attachment']['payload']);
                }

                // Facebook Generic will be converted to Image + Text + Button
                if ($message['attachment']['payload']['template_type'] === 'generic') {
                    return $this->sendGeneric($message['attachment']['payload']);
                }
            endif;
        }

        // Facebook Quick Replies will be converted to ReplyKeyboardMarkup
        if ( ! empty($message['quick_replies'])) {
            $telegram['reply_markup'] = [
                'keyboard' => [],
                'one_time_keyboard' => true,
            ];

            foreach ($message['quick_replies'] as $reply) {
                if ($reply['content_type'] === 'text') {
                    $telegram['reply_markup']['keyboard'][] = [
                        [
                            'text'  => $reply['title']
                        ]
                    ];
                }

                if ($reply['content_type'] === 'location') {
                    $telegram['reply_markup']['keyboard'][] = [
                        [
                            'text'              => 'Send Location',
                            'request_location'  => true
                        ]
                    ];
                }
            }
        }

        // We have to json encode the reply_markup
        if (isset($telegram['reply_markup'])) {
            $telegram['reply_markup'] = json_encode($telegram['reply_markup']);
        }

        // Facebook Quick Replies will convert to InlineKeyboard
        return giga_remote_post($this->getResource($action), $telegram);
    }