【问题标题】:Store API previous value and compare with new one存储 API 以前的值并与新值进行比较
【发布时间】:2021-10-04 23:23:58
【问题描述】:

我开发了一个电报机器人,它的工作是在电报组中发布板球比赛的比分。只有在更新新分数时才需要发布分数。我正在尝试将旧分数存储在会话中,然后将其与新分数进行比较。

如果两个值(旧值和新值)不匹配,请将分数发布到组中,但由于某种未知原因,它不起作用

这是我的代码

<?php

session_start();

set_time_limit(0);


$token = 'xyz';
$group_name = 'xyz';


while(true){

$ipl = file_get_contents('https://cricket-api.vercel.app/cri.php?url=https://www.cricbuzz.com/live-cricket-scores/37632/dc-vs-csk-50th-match-indian-premier-league-2021');  

$ipl_data = json_decode($ipl, true);

$current_score = $ipl_data['livescore']['current'];
        
if($current_score != $_SESSION['old_score']){
  $bot = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$group_name}&text={$current_score}";
  $hit = file_get_contents($bot);      
} 

$_SESSION['old_score'] = $current_score;
    


sleep(10);    

}
 

?>

【问题讨论】:

  • 您已经问过这个问题了:Send a message when the score gets an update - Telegram Bot 为了保持内容质量,明确禁止重复提问。请勿转载;改为编辑您的原始问题。
  • 我没有转发同样的问题!这两个问题都有不同的问题。基本上是上一个问题的延续

标签: php api


【解决方案1】:

看那个

$_SESSION['old_score'] = $current_score;

if($current_score != $_SESSION['old_score'])

您的会话 "old_score" 始终等于 $current_score 首先尝试您的if,然后更改会话字段

if($current_score != $_SESSION['old_score']){
       
} 

$_SESSION['old_score'] = $current_score;

【讨论】:

  • 抱歉,同样的问题仍然存在。
  • 分数更新时没有在群里发消息
  • (尽管分数更新,如果语句仍未执行)
  • 成功了!不知道为什么上次没有成功!但现在工作得很好!非常感谢
  • 接受了答案:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 1970-01-01
  • 1970-01-01
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多