Code Duplication    Length = 16-16 lines in 2 locations

Classes/Commands/AbstractCommand.php 2 locations

@@ 110-125 (lines=16) @@
107
            $this->client->apiCall('im.open', ['user' => $user])
108
                ->then(function (Payload $response) use ($messageToSent) {
109
                    $channel = $response->getData()['channel']['id'];
110
                    if ($messageToSent instanceof Message) {
111
                        $data = $this->getBaseDataArray($messageToSent->getText(), $channel);
112
                        $attachments = $messageToSent->getAttachments();
113
                        if (count($attachments)) {
114
                            $data['attachments'] = [];
115
                        }
116
                        foreach ($attachments as $attachment) {
117
                            $data['attachments'][] = $this->buildAttachment($attachment);
118
                        }
119
                        $message = new \Slack\Message\Message($this->client, $data);
120
                        $this->client->postMessage($message);
121
                    } elseif (is_string($messageToSent)) {
122
                        $data = $this->getBaseDataArray($messageToSent, $channel);
123
                        $data['as_user'] = true;
124
                        $this->client->apiCall('chat.postMessage', $data);
125
                    }
126
                });
127
        } else {
128
            $channel = $channel ?? $this->payload->getData()['channel'];
@@ 129-144 (lines=16) @@
126
                });
127
        } else {
128
            $channel = $channel ?? $this->payload->getData()['channel'];
129
            if ($messageToSent instanceof Message) {
130
                $data = $this->getBaseDataArray($messageToSent->getText(), $channel);
131
                $attachments = $messageToSent->getAttachments();
132
                if (count($attachments)) {
133
                    $data['attachments'] = [];
134
                }
135
                foreach ($attachments as $attachment) {
136
                    $data['attachments'][] = $this->buildAttachment($attachment);
137
                }
138
                $message = new \Slack\Message\Message($this->client, $data);
139
                $this->client->postMessage($message);
140
            } elseif (is_string($messageToSent)) {
141
                $data = $this->getBaseDataArray($messageToSent, $channel);
142
                $data['as_user'] = true;
143
                $this->client->apiCall('chat.postMessage', $data);
144
            }
145
        }
146
    }
147