private function scanChannelUser($chat_id) {
$scan = json_decode($this->botApiQuery("getChatMember", ['chat_id' => $this->channel, 'user_id' => $chat_id]), true);
if($scan['rusult']['status'] == 'left'){
return false;
} else {
return true;
}
}
Проверяю участие кодом выше. После отправляю сообщение пользователю
$this->sendMessage($user_id, $text, $buttons);
private function sendMessage($user_id, $text, $buttons = NULL) {
if ($this->scanChannelUser($user_id) == true) {
// готовим массив данных
$data_send = [ 'chat_id' => $user_id,
'text' => $text,
'parse_mode' => 'html' ];
// если переданны кнопки то добавляем их к сообщению
if (!is_null($buttons) && is_array($buttons)) {
$data_send['reply_markup'] = $this->buildInlineKeyBoard($buttons);
}
// отправляем текстовое сообщение
return $this->botApiQuery("sendMessage", $data_send);
} else {
// готовим кнопку на подписку
$button[] = [$this->buildInlineKeyBoardButton('ПОДПИСАТЬСЯ', '', $this->subscribeLink)];
// отправляем текстовое сообщение
return $this->botApiQuery("sendMessage", [ 'chat_id' => $user_id,
'text' => $this->subscribeText,
'reply_markup' => $this->buildInlineKeyBoard($button)]);
}
}
И не оправляется сообщение о подписке.