Привет, ребята, у меня есть бот-телеграмма, и я пытаюсь отправить сообщение на мой канал.Я хочу планировать и отправлять свои сообщения в определенное время.я пытаюсь использовать cronjob и что-то происходит, когда я использую cronjob, он не отправляет сообщение, но когда я вручную вызываю этот URL (мой файл cronjob на хосте), он отправляет сообщение отлично. Вот мой код, я получаю сообщение из базы данных и отправляю его!!
while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
$User_ID = $row["user_id"];
$Caption = $row["body"] . "\n\n";
$ChannelID = $row["channel_id"];
$telegram->mSendMessageToChannel($ChannelID, $Caption);
$telegram->mSendSimpleMessage($User_ID, "post sent.");
}
все хорошо, пока я не получу сообщение от БД, и все будет хорошо.вот мой метод mSendMessageToChannel
public function mSendMessageToChannel($channelID, $postText)
{
$url = 'https://api.telegram.org/bot' . $this->token . '/sendMessage';
$post_fields = array(
'chat_id' => "$channelID",
'text' => $postText
);
$this->executeCURL($url, $post_fields);
}
, а вот мой метод mSendSimpleMessage
public function mSendSimpleMessage($userId, $text)
{
$url = "https://api.telegram.org/bot" . $this->token . "/sendMessage";
$post_fields = array(
"chat_id" => $userId,
'text' => $text
);
$this->executeCURL($url, $post_fields);
}
, а вот мой метод executeCURL:
public function executeCURL($url, $post_fields)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Content-Type:multipart/form-data"
));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
$output = curl_exec($ch);
}
и вот ошибка iон не может распознать мой канал:
[15-Mar-2019 07:13:01 UTC] PHP Предупреждение: curl_setopt () [function.curl-setopt]: невозможно получить доступ к branio_ir в / home1/derakhtc/public_html/telegramBot/HafezederakhshanBot/telegram.php в строке 85
строка 85 равна curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post_fields);
мой бот - администратормой канал tnx за помощь