Warunek do autopke ts3

L3mon | 2021-02-17 10:25:55 UTC | #1

Witam posiadam kod do autopoke lecz jestem niezadowolony z tego , że nawet jeśli weje juz do klienta który oczekuje na moją pomoc bot nadal wysyła mi poke próbowałem róznych warunków lecz żaden nie działał. Może ktoś zna jakiś warunek króry rozwiąze mój problem dziękuje za wszelką pomoc.

tutaj jest cały kod od autopoke

<?php

requireonce ‘config/teamspeak.php’;
require
once ‘include/ts3admin.class.php’;

function autopoke()
{
global $query;
global $config;
global $interval;

  $cache = array();
    $welcome = array();

  //auto poke
    $users = $query->getElement('data',$query->clientList('-groups -voice -away -times'));

    $pokes = array();
    $admins = array();

    foreach ($users as $client) {
        if ($client['client_nickname'] != $config['bot']['name']) {


            $user_groups = explode(',',$client['client_servergroups']);

            if (isInGroup($user_groups,$config['autopoke']['admins_groups']) && !in_array($client['clid'],$cache)) {
                $admins[$client['clid']] = $user_groups;
            }

            if (array_key_exists($client['cid'],$config['autopoke']['messages']) && !isInGroup($user_groups, $config['autopoke']['admins_groups']) && !$client['client_is_talker']) {

                $pokes[] = $client['cid'];

                //priv dla usera 
                if (!in_array($client['clid'],$cache)) {
                    $query->sendMessage(1, $client['clid'], file_get_contents('config/messages/'.$config['autopoke']['messages'][$client['cid']]['user_msg'],true));
                    $cache[time()-1] = $client['clid'];
                }
            }   
        }
    }

    $counter = 0;
    //poke
    foreach ($pokes as $poke) {
        foreach ($admins as $clid => $admin) {
            if (isInGroup($admin, $config['autopoke']['messages'][$poke]['groups'])) {
                if (!in_array($clid,$cache)) {
                    $cache[time()+$counter] = $clid;
                    $query->clientPoke($clid, file_get_contents('config/messages/'.$config['autopoke']['messages'][$poke]['admin_poke']));
                    $counter++;
                }
            }
        }
    }


    //czyszczenie cache
    foreach ($cache as $time => $user) {
        if (time() - $time > $interval) {
            unset($cache[$time]);
        }
    }

    //czyszczenie powitan
    if (date('H') == '23') {
        foreach ($welcome as $time => $user) {
            if (time() - $time > 60*60*24) { //1 dzien
                unset($welcome[$time]);
            }
        }
    }

  unset($query);
  unset($config);
    unset($interval);

  unset($cache);
    unset($welcome);

    unset($users);

    unset($pokes);
    unset($admins);

}

?>


system | 2021-02-17 10:26:09 UTC | #2

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.