TeamSpeak 3(Ts3Admin.class.php)

TeamSpeak 3(Ts3Admin.class.php),php,Php,我对PHP中的函数有一个问题,更准确地说,是来自ts3admin.class.PHP 我写过这样的东西 if($tsAdmin->getElement('success', $tsAdmin->connect())) { #login as serveradmin $tsAdmin->login($ts3_user, $ts3_pass); #select teamspeakserver $tsAdmi

我对PHP中的函数有一个问题,更准确地说,是来自ts3admin.class.PHP

我写过这样的东西

    if($tsAdmin->getElement('success', $tsAdmin->connect())) {

        #login as serveradmin
        $tsAdmin->login($ts3_user, $ts3_pass);

        #select teamspeakserver
        $tsAdmin->selectServer($ts3_port);

        #set bot name
        $tsAdmin->setName($bot_nickname);

        #get clientlist

        while(true){
            sleep(1);

            $poke_time = date('H:30');
            $time = date('H:i');

            $msg = '[b][color=red]Przypomnienie[/color]!\n Aukcja jest za [color=#4779E3]5[/color] minut![/b]';

            #get clientlist
            $clients = $tsAdmin->clientList();

            foreach ($clients['data'] as $client){
                $clid = $client['clid'];

                if($time == $poke_time){
                    $tsAdmin->clientPoke($clid, $msg);
                    $i++;
                    sleep(11);
                    continue;
                }

            }
        }
}
嗯,它工作得很好,但当他必须发送消息时,他会向许多人发送垃圾邮件,甚至在发送10条消息之后。是否可以在指定的时间限制服务器上所有人只收到一条消息


(我为我的英语道歉,但我使用谷歌翻译主要是因为我更喜欢波兰语或德语)

是的,这是可能的。只需编写一些代码即可实现;)你能指导我怎么做吗?我不擅长PHP。您可以在会话或数据库中发送最后一条消息时保存时间戳,然后在发送之前比较该值。我还考虑了检查服务器上的人数和发送消息的数量。如果发送的消息数=睡眠5分钟的人数。但我不知道它是否能在更大范围内工作。这听起来不太好,因为在这种情况下,一个用户可能会阻止所有其他用户的消息系统。正如您所要求的,只有“垃圾邮件”用户应该被阻止