仅回复推文一次

时间:2018-01-02 21:17:59

标签: php twitter

我使用Twitter API和PHP来回复特定的推文。

例如。如果其他用户提到我喜欢" @Diga回复我!"我回复了他们。否则,我就放弃提及。

这是一个基本的if语句,我可以处理这个问题。问题是,当另一个用户提到我并再次运行脚本时,脚本会回复它们,因为已经有另外一个提及。

$statues = $connection->get("statuses/mentions_timeline");

if(count($statues)>0)
{
    $message= strtolower($statues[0]->text);
    $message= trim(str_replace("@diga","",$message));
    if($message== "reply me!")
    {
        $user_name = "@".trim($statues[0]->user->screen_name);
        $tweetID = $statues[0]->id_str;
        $statues = $connection->post("statuses/update", ["status" => $user_name." I can reply you!", "in_reply_to_status_id" => $tweetID]);
    }
}
else
{
    echo "no mention.";
}

在此代码中,如果有任何提及,脚本会开始检查消息。实际上,由于测试,我只检查一个提及(0)。但是,我仍然只想回复此推文一次。在那之后,即使我运行这个脚本,我也不想让它回复。

1 个答案:

答案 0 :(得分:4)

您有多种方法:

  1. 使用数据库存储您已回复的推文的 ID , 忽略ID已存在于数据库中的那些。
  2. 如果您的脚本运行 自动每10分钟,只回复推文中的提及 在最后10分钟发送。
  3. Look if you have already replied to the tweet.