如何使用 PHP 每分钟向电报机器人发送通知?
Posted
技术标签:
【中文标题】如何使用 PHP 每分钟向电报机器人发送通知?【英文标题】:How can I send notifications every minute to the telegram bot with PHP? 【发布时间】:2019-10-23 12:19:41 【问题描述】:场景如下,我想在 Telegram 频道上每分钟发送消息或通知(没有用户发送的命令)。
碰巧我每次输入 URL 并发送消息时都可以发送消息,但我希望它每分钟自动发送(无需输入 URL)。我不知道该怎么做,提前谢谢。
<?php $botToken="<<BOT-TOKEN>>" ; $website="https://api.telegram.org/bot" .$botToken; $chatId="337957895" ; //**===>
注意:这个 chatId 必须是一个人的 chat_id,而不是另一个机器人 chatId !!!** $params=[ 'chat_id'=>$chatId, 'text'=>'这是我的消息!!!' , ]; $ch = curl_init($website . '/sendMessage'); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, ($params)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($ch); curl_close($ch); ?>
我仍然必须输入 URL 才能发送消息... https://bot.unpixelmas.com/bot.php
【问题讨论】:
听起来你想要一个 cron 作业 我同意,您可以在 cron 作业中使用 Curl 或 wget。 【参考方案1】:如果我们说你要输入的网址是<YOUR CUSTOM URL>
,那么你可以制作一个PHP文件并使用以下代码:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '<YOUR CUSTOM URL>',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
));
$response = curl_exec($curl);
curl_close($curl);
?>
然后使用crontab -e
命令您可以打开cronjob 文件并将您的PHP 文件添加为记录:
* * * * * <PHP bin path> <your PHP source file path>
【讨论】:
【参考方案2】:如果 URL 始终相同,则应使用 cronjob 并将其设置为每分钟打开一次该 URL。
【讨论】:
以上是关于如何使用 PHP 每分钟向电报机器人发送通知?的主要内容,如果未能解决你的问题,请参考以下文章