Guest User

qbot

a guest
Jul 6th, 2020
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 52.03 KB | None | 0 0
  1. <?php
  2.  
  3. /**********************************************
  4.  
  5.          Plik: config.php
  6.               Autor: Stalker
  7.               TS: Jutuby.Net
  8.           Mail: kontakt@jutuby.net.
  9.  
  10. ***********************************************/
  11.  
  12.  
  13.  
  14. $config = [];
  15.  
  16. $config['logs'] = true;   # True - logi włączone | false - logi wyłączone
  17.  
  18. $config['errors'] = -1;   # 0 -> wyłącza wyświetlanie błędów | -1 -> włącza wyświetlanie błędów
  19.  
  20. $config['lang'] = 'PL';   # Język aplikacji ('PL' lub 'EN')
  21.  
  22.  
  23.  
  24. $config[1]['conn'] = [
  25.  
  26.   'ip' => 'localhost',    # Ip serwera teamspeak
  27.  
  28.   'voicePort' => 9987,    # Port voice, domyślnie: 9987
  29.  
  30.   'queryPort' => 10011,   # Port query domyślnie: 10011
  31.  
  32.   'login' => 'logindoquery',   # Login query
  33.  
  34.   'passwd' => 'poprawnehaslo',   # Hasło query
  35.  
  36.   'channelId' => 2,   # Id kanału, na którym bot ma siedzieć
  37.  
  38.   'botName' => 'qBot @ Guardian',   # Nazwa bota
  39.  
  40.  
  41.  
  42. ];
  43.  
  44. $config[2]['conn'] = [
  45.  
  46.   'ip' => 'localhost',
  47.  
  48.   'voicePort' => 9987,
  49.  
  50.   'queryPort' => 10011,
  51.  
  52.   'login' => 'logindoquery',
  53.  
  54.   'passwd' => 'poprawnehaslo',
  55.  
  56.   'channelId' => 2,  
  57.  
  58.   'botName' => 'qBot @ Warden',  
  59.  
  60.  
  61.  
  62. ];
  63.  
  64. $config[3]['conn'] = [
  65.  
  66.   'ip' => 'localhost',
  67.  
  68.   'voicePort' => 9987,
  69.  
  70.   'queryPort' => 10011,
  71.  
  72.   'login' => 'logindoquery',
  73.  
  74.   'passwd' => 'poprawnehaslo',
  75.  
  76.   'channelId' => 2,  
  77.  
  78.   'botName' => 'qBot @ Updater',  
  79.  
  80.   'delay' => 400000,    # Czas jaki bot ma odczekać po wykonaniu wszystkich funkcji (w mikrosekundach) | 1 sekunda = 1'000'000 mikrosekund
  81.  
  82.  
  83.  
  84. ];
  85.  
  86. $config[4]['conn'] = [
  87.  
  88.   'ip' => 'localhost',
  89.  
  90.   'voicePort' => 9987,
  91.  
  92.   'queryPort' => 10011,
  93.  
  94.   'login' => 'logindoquery',
  95.  
  96.   'passwd' => 'poprawnehaslo',
  97.  
  98.   'channelId' => 2,  
  99.  
  100.   'botName' => 'qBot @ Checker',  
  101.  
  102.   'delay' => 400000,    # Czas jaki bot ma odczekać po wykonaniu wszystkich funkcji (w mikrosekundach) | 1 sekunda = 1'000'000 mikrosekund
  103.  
  104.  
  105.  
  106. ];
  107.  
  108.  
  109. $config[5]['conn'] = [
  110.  
  111.   'ip' => 'localhost',
  112.  
  113.   'voicePort' => 9987,
  114.  
  115.   'queryPort' => 10011,
  116.  
  117.   'login' => 'logindoquery',
  118.  
  119.   'passwd' => 'poprawnehaslo',
  120.  
  121.   'channelId' => 2,  
  122.  
  123.   'botName' => 'qBot @ GuildChat',   # Nazwa bota
  124.  
  125.  
  126.  
  127. ];
  128.  
  129.  
  130.  
  131. $config[1]['functions'] = [
  132.  
  133.   'joinServer' => [
  134.  
  135.     /*
  136.       Funkcja, która wysyła wiadomość do użytkowniką łączącego sie z serwerem.
  137.     */
  138.     'joinMessage' => [
  139.       'enabled' => false,  
  140.       'ignoredGroups' => [567, 748],    # Ignorowane grupy
  141.       'cfg' => [
  142.         /* PRZYKŁAD:
  143.         0 => "-> Chcesz się przenieść na kanał gildi/klanu?",
  144.         1 => "    - Wpisz [b]!warp list[/b]",
  145.         2 => "    - Jeśli nie chcesz otrzymywać tej wiadomości nadaj sobie rangę [i]Anty :: WelcomeMessage[/i] za pomocą naszego panelu [url]https://jutuby.net/[/url]",
  146.         */
  147.         0 => "-> Chcesz się przenieść na kanał gildi/klanu?",
  148.         1 => "    - Wpisz [b]!warp list[/b]",
  149.         2 => "Jakakolwiek wiadomość",
  150.       ],
  151.     ],
  152.   ],
  153.  
  154.   'commands' => [
  155.  
  156.     /*
  157.       Komenda, która tworzy token dla grupy serwera, która bot zabiera po czacie X
  158.       Uycie:
  159.         !addToken add ID_GRUPY_SERWERA CZAS_W_SEKUNDACH     | Dodajemy token
  160.         !addToken help                                      | Dostępne komendy/uzycie
  161.  
  162.       !!! Do tego musi być włączona funkcja 'checkTokens' !!!
  163.     */
  164.     'addToken' => [
  165.       'enabled' => false,    
  166.       'allowedGroups' => [10, 419, 11, 13],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  167.       'disAllowedGroups' => [554, 10, 419]    # Grupy dla, których nie można generować tokenu
  168.     ],
  169.  
  170.     /*
  171.         Komenda, która dodaje wpis do funkcji 'clanGroup'
  172.         Użycie:
  173.           !clanGroup add ID_KANAŁU ID_GRUPY       | Dodajemy wpis
  174.           !clanGroup remove ID_KANALU ID_GRUPY    | Usuwamy wpis
  175.           !clanGroup list                         | Wyświetlamy wszystkie wpisy
  176.           !clanGroup help                         | Wyświetlamy dostępne komendy
  177.  
  178.     */
  179.     'clanGroupComm' => [
  180.       'enabled' => false,    
  181.       'allowedGroups' => [10, 419, 11, 13],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  182.     ],
  183.  
  184.     /*
  185.         Komenda, która dodaje wpis do funkcji 'serverGroupProtection'
  186.         Użycie:
  187.           !serverGroupProtection add DATABASE_ID ID_GRUP_PO_PRZECINKU       | Dodajemy wpis
  188.           !serverGroupProtection remove DATABASE_ID ID_GRUP_PO_PRZECINKU    | Usuwamy wpis
  189.           !serverGroupProtection list                                       | Wyświetlamy wszystkie wpisy
  190.           !serverGroupProtection help                                       | Wyświetlamy dostępne komendy
  191.  
  192.           np. !serverGroupProtection add 2 45,6,44
  193.               !serverGroupProtection remove 2 5,6
  194.               !serverGroupProtection remove 2 59
  195.               !serverGroupProtection add 4 98
  196.  
  197.     */
  198.  
  199.     'serverGroupProtectionComm' => [
  200.       'enabled' => false,    
  201.       'allowedGroups' => [10, 419],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  202.     ],
  203.  
  204.     /*
  205.         Komenda, która dodaje wpis do funkcji 'adminStatusOnChannelComm'
  206.         Użycie:
  207.           !adminStatusOnChannelComm add ID_KANAŁU ID_GRUPY       | Dodajemy wpis
  208.           !adminStatusOnChannelComm remove ID_KANALU ID_GRUPY    | Usuwamy wpis
  209.           !adminStatusOnChannelComm list                         | Wyświetlamy wszystkie wpisy
  210.           !adminStatusOnChannelComm help                         | Wyświetlamy dostępne komendy
  211.     */
  212.  
  213.     'adminStatusOnChannelComm' => [
  214.       'enabled' => true,
  215.       'allowedGroups' => [1, 4, 6],    # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  216.     ],
  217.  
  218.     /*
  219.         Komenda, która czyści czat z botem
  220.         Użycie:
  221.           !clear
  222.     */
  223.     'clear' => [
  224.       'enabled' => false,    
  225.       'allowedGroups' => [10, 419, 11, 13],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  226.     ],
  227.  
  228.     /*
  229.         Komenda, która dodaje wpis do funkcji 'groupOnline'
  230.         Użycie:
  231.           !groupOnline add ID_KANAŁU ID_GRUPY "WZÓR_NAZWY_KANALU"       | Dodajemy wpis   np. !groupOnline add 12 87 "[cspacer001]Aktualnie online: [on]/[all]"
  232.           !groupOnline remove ID_KANALU ID_GRUPY                      | Usuwamy wpis
  233.           !groupOnline list                                           | Wyświetlamy wszystkie wpisy
  234.           !groupOnline help                                           | Wyświetlamy dostępne komendy
  235.  
  236.     */
  237.     'groupOnlineComm' => [
  238.       'enabled' => false,    
  239.       'allowedGroups' => [10, 419, 11, 13],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  240.     ],
  241.  
  242.     /*
  243.         Komenda, która zaczepia wszystkich na serwerze
  244.         Użycie:
  245.           !pokeAll "Twoja wiadomość"
  246.     */
  247.     'pokeAll' => [
  248.       'enabled' => false,    
  249.       'allowedGroups' => [6],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  250.     ],
  251.  
  252.     /*
  253.         Komenda, która wysyła wiadomość do wszystkich na serwerze
  254.         Użycie:
  255.           !pwAll "Twoja wiadomość"
  256.     */
  257.     'pwAll' => [
  258.       'enabled' => false,    
  259.       'allowedGroups' => [10, 419, 11, 13],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  260.     ],
  261.  
  262.     /*
  263.         Komenda, która przenosi administratorów na zebranie
  264.         Użycie:
  265.           !meeting
  266.     */
  267.     'meeting' => [
  268.       'enabled' => false,    
  269.       'allowedGroups' => [10, 419, 11, 13],   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  270.       'adminGroups' => [48],    # Grupy do przeniesienia
  271.       'channelId' => 69,    # Id kanału, na który ma przenosić
  272.     ],
  273.  
  274.     /*
  275.         Komenda, która przenosi na dany kanał gildyjny
  276.         Użycie:
  277.           !warp NUMER_GILDI
  278.  
  279.     */
  280.     'teleport' => [
  281.       'enabled' => false,    
  282.       'allowedGroup' => []   # Grupy dozwolone do korzystania z komendy. Puste oznacza, że każdy może
  283.     ],
  284.   ],
  285.  
  286.   'tokenUsed' => [
  287.     /*
  288.       Funkcja pomocniczna, musi być włączona, jeśli korzystamy z komeny "!addToken"
  289.     */
  290.     'saveToken' => [
  291.       'enabled' => false,    
  292.     ],
  293.   ],
  294.  
  295.   'changeChannel' => [
  296.    
  297.     /*
  298.         Funkcja nadająca grupę kanału, pierwszemu użytkownikowi, który wszedł na kanał publiczny
  299.         Ta funkcja wymaga włączonej funkcji 'publicChannelGroupHelper'
  300.     */
  301.  
  302.     'publicChannelGroup' => [
  303.       'enabled' => false,
  304.       'publicParentChannels' => [1912],
  305.       'channelAdminGroup' => 5,   # Ta grupa koniecznie musi mieć usunięte pozwolenie b_group_is_permanent
  306.       'defaultChannelGroup' => 8,   # Domyślna grupa kanału
  307.  
  308.     ],
  309.  
  310.     /*
  311.         Funckja zliczająca ilość udzielonej pomocy na centrum pomocy
  312.     */
  313.     'helpProvided' => [
  314.       'enabled' => false,    
  315.       'adminGroups' => [6],   # Wszystkie grupy administracyjne
  316.       'helpChannel' => 1896,    # Kanał pomocy
  317.     ],
  318.  
  319.     /*
  320.         Funkcja wysyłająca informacje o kliencie po wejściu na dany kanał
  321.     */
  322.     'clientChannelInfo' => [
  323.       'enabled' => false,    
  324.       'channelId' => 18918,   # Id kanału
  325.       'msg' =>   [ # Wiadomość, którą wysyła bot
  326.  
  327.         0 => "-> Heeeeej [b][nick][/b]",
  328.         1 => "-> Twoje unikalne ID: [b][uid][/b]",
  329.         2 => "-> Twoje IP: [b][ip][/b]",
  330.         3 => "-> Twoje pierwsze połączenie: [b][date][/b]",
  331.         4 => "-> Twoje najdłuższe połączenie z serwerem: [b][time][/b] [i]([timeRank]. miejsce)[/i]",
  332.         5 => "-> Twoja ilość połączeń: [b][conn][/b] [i]([connRank]. miejsce)[/i]",
  333.         6 => "-> Twój czas AFK: [b][afk][/b] [i]([afkRank]. miejsce)[/i]",
  334.         7 => "-> Przy okazji dodaj nasz serwer do zakładek [b][url=ts3server://jutuby.net?addbookmark=jutuby.net]KLIK[/url][/b]",
  335.       ],
  336.     ],
  337.  
  338.     /*
  339.         Funkcja przenosząca użytkownika na dany kanał po wejściu na dany kanał
  340.         Funkcja musi być włączona, jeśli korzystamy z niej w "createClanChannels"
  341.     */
  342.     'moveWhenJoinChannel' => [
  343.       'enabled' => false,
  344.  
  345.     ],
  346.  
  347.     /*
  348.         Funkcja nadająca/odbierająca grupę serwera po wejściu na dany kanał
  349.           Kanały dodajemy za pomocą komend
  350.           Lista komend po napisaniu do bota:
  351.            !clanGroup help
  352.     */
  353.     'clanGroup' => [
  354.       'enabled' => false,
  355.       'ignoredGroups' => [45, 46],  # Lista grup, które jeśli będzie miał użytkownik nie otrzyma grupy kanału
  356.     ],
  357.  
  358.     /*
  359.         Funkcja nadająca grupe rejestracyjną
  360.     */
  361.     'registerChannel' => [
  362.       'enabled' => false,
  363.       'cfg' => [
  364.  
  365.         # Id kanału => Id grupy serwera
  366.         56 => 50,
  367.         57 => 40,
  368.       ],
  369.       'groups' => [50, 40],   # Wszystkie rejestracyjne id grup serwera
  370.       'requiredTime' => 0,    # Wymagany czas spędzony na serwerze | 0 oznacza brak wymaganego czasu | Wymagana jest włączona funkcja "topTimeSpent"
  371.     ],
  372.  
  373.     /*
  374.         Funkcja nadająca kanał prywatny
  375.         Zmienne:
  376.           Nazwa kanału:
  377.             [num] - numeracja
  378.             [nick] - nick wlaściciela kanału
  379.  
  380.           Opis kanału:
  381.             [owner] - nick wlaściciela kanału
  382.             [date] - Data utworzenia kanału
  383.  
  384.           !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  385.                         UWAGA
  386.               Kanały prywatne usuwamy zmieniając,
  387.                    datę w temacie kanału.
  388.                      Np. na 1900.12.12
  389.  
  390.           !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  391.     */
  392.     'getPrivateChannel' => [
  393.       'enabled' => false,
  394.       'channelName' => '[num]. [nick]',   # Wzór nazwy kanału
  395.       'subChannelName' => '[num]. Podkanał',    # Wzór nazwy podkanału | [num] - numeracja
  396.       'channelId' => 58,    # Id kanału, po wejściu na niego tworzy kanał prywatny
  397.       'mainChannelId' => 43,    # Id kanału pod, którym ma tworzyć kanały prywatne
  398.       'channelGroupId' => 5,    # Id grupy kanału, którą ma nadać
  399.       'subChannels' => 3,   # Ilość podkanałów
  400.       'msg' => '\nTwoje hasło do kanału to [b][passwd][/b]\nZmień je!\n Życzymy miłych rozmów!',    # Wiadomość, którą bot ma wysłać
  401.       'topDesc' => "[center][size=20]Kanał prywatny[/size][/center][hr]",    # Górny opis kanału
  402.       'desc' =>  "[list][*]Właściciel: [owner][*]Utworzony: [date][/list]",   # Opis kanału
  403.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]"
  404.     ],
  405.  
  406.  
  407.     /*
  408.         Funkcja informująca lidera klanu o wejściu na kanał rekrutacji
  409.     */
  410.     'channelGroupNotify' => [
  411.       'enabled' => false,
  412.       'cfg' => [
  413.         # Id kanału => Id grupy kanału
  414.         2222 => 9,
  415.       ],
  416.     ],
  417.   ],
  418. ];
  419.  
  420. $config[2]['functions'] = [
  421.  
  422.   'joinServer' => [
  423.  
  424.     /*
  425.         Funkcja wypisująca nowych użytkowników w opis kanału
  426.         Zmienne:
  427.           [uid] - uid użytkownika
  428.           [nick] - nick
  429.           [hour] - godzina połączenia
  430.     */
  431.     'newUsersToday' => [
  432.       'enabled' => false,
  433.       'channelId' => 97,    # Id kanału
  434.       'ignoredGroups' => [],   # Grupy ignorowane
  435.       'ignoredIp' => [],    # Ignorowane adresy IP
  436.       'channelName' => "[cspacer]Nowi użytkownicy: [count]",    # Wzór nazwy kanału | [count] - ilość nowych dziś
  437.       'topDesc' => "[center][size=20]Nowi dziś[/size][hr][list]",   # Górny opis kanału
  438.       'desc' => "[*] [size=13][URL=client://0/[uid]][nick][/URL] dołączył[color=gray]  ([hour])[/color][/size]",   # Wzór opisu kanału
  439.       'footer' => "[/center][/list][hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]"   # Stopka
  440.     ],
  441.  
  442.     /*
  443.         Funkcja wykrywająca czy ktoś nie jest połączony na VPN
  444.     */
  445.     'proxyChecker' => [
  446.       'enabled' => false,
  447.       'apiKey' => "",   # Klucz API, można go zdobyć za darmo na stronie https://iphub.info/pricing
  448.       'ignoredGroups' => [45, 47, 10, 434],    # Ignorowane grupy
  449.       'ignoredIp' => [],    # Ignorowane adresy IP
  450.  
  451.     ],
  452.  
  453.     /*
  454.         Funkcja wysyłająca wiadomośc powitalną
  455.         Zmienne:
  456.           [nick] - nick łączącego się z serwerem
  457.           [uptime] - uptime serwera
  458.           [on] - ilośc osób online na ts
  459.           [max] - Ilość slotów
  460.     */
  461.     'welcomeMessage' => [
  462.       'enabled' => false,
  463.       'ignoredGroups' => [567],    # Ignorowane grupy
  464.       'maxConnections' => 10,    # Po ilu połączeniach z serwerem ma przestać wysyłać wiadomość
  465.       'enabledMaxConnections' => true,   # Włącza wyłącza powyższą opcję
  466.       'msg' => [
  467.         0 => "-> Witaj [nick] na serwerze [b]Jutuby.Net[/b]",
  468.         1 => "    - Zapraszamy do polubienia naszego fanpage >[b][url=https://www.facebook.com/jutuby.net]Kliknij[/url][/b]<",
  469.         2 => "    - Dodaj nasz serwer do zakładek!!! [url=ts3server://jutuby.net?addbookmark=jutuby.net]Dodaj[/url]",
  470.  
  471.       ],
  472.     ],
  473.  
  474.     /*
  475.         Funkcja nadająca grupę serwera, jeśli klient połączy się z danego IP
  476.     */
  477.     'addRankByIp' => [
  478.       'enabled' => false,
  479.       'ip' => [],   # Wszystkie adresy IP
  480.       'groups' => [45],   # Id grup, które ma nadać
  481.     ],
  482.  
  483.     /*
  484.         Funkcja wykrywająca platformę klienta
  485.         Jeśli damy 0 to dana platforma zostanie zignorowana
  486.     */
  487.     'clientPlatform' => [
  488.       'enabled' => false,
  489.       'Linux' => 0,   # Id grupy serwera dla Linux
  490.       'Android' => 60,   # Id grupy serwera dla Android
  491.       'iOS' => 59,   # Id grupy serwera dla iOS
  492.     ],
  493.  
  494.     /*
  495.         Funkcja wpisująca w nazwę kanału ilość unikalnych odwiedzin
  496.         Zmienne:
  497.           [visits] - ilość odwiedzin
  498.     */
  499.     'uniqueVisitors' => [
  500.       'enabled' => false,
  501.       'channelId' => 103,   # Id kanału
  502.       'channelName' => '[cspacer]Unikalnych odwiedzin: [visits]',    # Wzór nazwy kanału
  503.     ],
  504.  
  505.     /*
  506.         Funkcja wpisująca w nazwę i opis kanału rekord online
  507.           Zmienne:
  508.             [rekord] - rekord serwera
  509.             [date] - data ustanowienia rekordu
  510.             [weekRecord] - rekord z tygodnia
  511.             [weekTime] - data rekordu z tygodniu
  512.             [dayName] - Dzień tygodnia ustanowienia tygodniowego rekordu
  513.  
  514.          
  515.  
  516.     */
  517.     'recordOnline' => [
  518.       'enabled' => false,
  519.       'channelId' => 102,   # Id kanału
  520.       'channelName' => "Rekord: [rekord]",    # Nazwa kanału
  521.       'moreRecords' => [
  522.         'numberOfRecords' => 20,
  523.         'enabled' => false,
  524.       ],
  525.       'topDesc' => "[center][size=20]Rekord online[/size][/center][hr]",    # Górny opis kanału
  526.       'desc' => "[size=11][list][*]Aktualny rekord to:[b] [rekord] [/b][*]Ustanowiony został: [b][date][/b][/list][/size]",   # Opis kanału
  527.       'secondDesc' => "[size=11]    Rekordy z ostatnich tygodni:[/size][list]",    # Opis kanału
  528.       'thirdDesc' => "[*][b][weekRecord][/b] ustanowiono [b][weekTime][/b] ([dayName])",    # Opis kanału
  529.       'footer' => "[/list][hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",    # Stopka
  530.     ],
  531.  
  532.     /*
  533.         Funkcja sprawdzająca ilość połączeń z tego samego IP
  534.     */
  535.     'checkConnections' => [
  536.       'enabled' => false,
  537.       'maxConnections'=> 3,   # Maksymalna ilość połączeń z tego samego IP
  538.       'ignoredGroups' => [45, 47, 483],    # Ignorowane grupy
  539.     ],
  540.  
  541.     /*
  542.         Funkcja, która powiadamia o wejściu danego klienta na serwer
  543.     */
  544.     'notifyWhenJoin' => [
  545.       'enabled' => false,
  546.       'databaseIds' => [
  547.  
  548.         # DatabaseId klienta => wiadomość
  549.         698 => 'Hey, wake up!',
  550.       ],
  551.       'ids' => [698],   # Wszystkie databaseId klientów, którzy wchodzą na serwer
  552.       'databaseIdsToNotify' => [2],   # DatabaseId klientów, którzy mają zostać powiadomieni
  553.     ],
  554.   ],
  555.  
  556.   'leftServer' => [
  557.  
  558.     /*
  559.         Funkcja nadająca grupę kanału osobie siedzącej na kanale publicznym, jeśli dotychczasowy posiadacz grupy kanału sie rozłączył
  560.         Ta funkcja wymaga włączonej funkcji 'publicChannelGroupHelper'
  561.  
  562.     */
  563.     'publicChannelGroupHelper' => [
  564.       'enabled' => false,
  565.       'publicParentChannels' => [1912],
  566.       'channelAdminGroup' => 5,   # Ta grupa koniecznie musi mieć usunięte pozwolenie b_group_is_permanent
  567.       'defaultChannelGroup' => 8,   # Domyślna grupa kanału
  568.     ],
  569.  
  570.     /*
  571.         Funkcja zapisująca czas rozłączenia klienta z serwerem
  572.         Ta funkcja jest wymagana przy używaniu funkcji "groupOnline" i "adminList"
  573.         Generalnie dobrze mieć włączoną tą funkcje ;)
  574.     */
  575.     'saveLastClientTime' => [
  576.       'enabled' => false,
  577.     ],
  578.   ],
  579.  
  580.   'channelEdit' => [
  581.     /*
  582.         Funkcja, która podmienia zakazany link obrazka, na podaną przez nas frazę.
  583.     */
  584.     'checkDescriptionImage' => [
  585.       'enabled' => false,
  586.       'mode' => 'block', # block/allow | block - Podane adresy oraz domeny będą blokowane, allow - podane adresy oraz domeny będą dozwolone
  587.       'ip' => ['88.99.66.31'],    # Adresy IP
  588.       'domains' => ['iplogger.org', 'iplogger.com', '2no.co', 'iplogger.ru', 'yip.su', 'iplogger.co', 'iplogger.info', 'ipgrabber.ru', 'ipgraber.ru', 'iplis.ru', '02ip.ru', 'ezstats.ru', 'iplo.ru', 'grabify.link', 'blasze.com', 'webresolver.nl', 'tinyurl.com', 'sinister.ly', 'hackingvision.com', 'tsforum.pl'],    # Domeny
  589.       'ignoredChannels' => [1],   # Ignorowane kanały
  590.       'replace' => '***',   # Na co ma zamienić link
  591.       'msg' => "Nie możesz wstawić zdjęcia z tego linku! Link jest nieprawidłowy lub nie jest dozwolony, aby dodać go do whitelisty skontaktuj się z administracją!"    # Wiadomośc przy wykryciu złego linku
  592.     ],
  593.  
  594.     /*
  595.         Funkcja, która zamienia link w kanale, na link dzięki, któremu będziemy mogli sprawdzić czy strona, która chcemy odwiedzić jest bezpieczna
  596.     */
  597.     'checkDescriptionLinks' => [
  598.       'enabled' => false,
  599.       'mode' => 'block', # block/allow | block - Podane adresy oraz domeny będą blokowane, allow - podane adresy oraz domeny będą dozwolone
  600.       'ip' => ['88.99.66.31'],    # Adresy IP
  601.       'domains' => ['iplogger.org', 'iplogger.com', '2no.co', 'iplogger.ru', 'yip.su', 'iplogger.co', 'iplogger.info', 'ipgrabber.ru', 'ipgraber.ru', 'iplis.ru', '02ip.ru', 'ezstats.ru', 'iplo.ru', 'grabify.link', 'blasze.com', 'webresolver.nl', 'tinyurl.com', 'sinister.ly', 'hackingvision.com', 'tsforum.pl'],    # Domeny
  602.       'ignoredChannels' => [1],   # Ignorowane kanały
  603.       'replace' => '***',    # Na co ma zamienić link
  604.       'msg' => "Ten link jest zabroniony!"    # Wiadomośc przy wykryciu złego linku
  605.     ],
  606.  
  607.     /*
  608.         Funkcja, która sprawdza numerację kanałów prywatnych
  609.         Zmienne:
  610.           [num] - Numeracja
  611.  
  612.     */
  613.     'checkPrivateChannelNames' => [
  614.       'enabled' => false,
  615.       'regex' => '/([num])(\. )(.*?)/',    # [num] - numer kanału prywatnego | Jeśli ktoś tego nie rozumie może śmiało zgłosić się na forum (egcforum.pl), ts (Jutuby.NET), lub telegramie (@Stal_ket)
  616.       'channelName' => '[num]. [nick]'    # Nazwa kanału, jeśli wykryje złą nazwę
  617.     ],
  618.  
  619.     /*
  620.         Funkcja, która sprawdza opis kanału prywatnego
  621.         !!!!  Opis kanalu musi być taki sam jak w przypadku funkcji "getPrivateChannel"  !!!!
  622.     */
  623.     'descriptionGuard' => [
  624.       'enabled' => false,
  625.       'topDesc' => "[center][size=20]Kanał prywatny[/size][/center][hr]",    # Górny opis kanału
  626.       'desc' =>  "[list][*]Właściciel: [owner][*]Utworzony: [date][/list]",   # Opis kanału
  627.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",    # Stopka
  628.     ],
  629.   ],
  630.  
  631.   /*
  632.     Funkcja zapisuje do cache informacje o nałożonych blokadach oraz usuwa admina z grupy administracyjnej, jeśli nałoży za duzo blokad
  633.   */
  634.   'banClient' => [
  635.  
  636.     'banGuard' => [
  637.       'enabled' => false,
  638.       'maxBans' => 4,   # Maksymalna ilośc blokad w przeciągu poniższego czasu
  639.       'time' => 18000,   # Czas w sekundach
  640.       'adminGroups' => [15, 14, 13],    # Wszystkie grupy administracyjne, które ma zabrać
  641.       'ignoredGroups' => [],    # Ignorowane grupy
  642.     ],
  643.   ],
  644.  
  645.   'kickFromServer' => [
  646.     # brak funkjci
  647.   ],
  648. ];
  649.  
  650. $config[3]['functions'] = [
  651.  
  652.   'fastFunctions' => [
  653.     /*
  654.         Funkcja chroniąca grupy administracyjne
  655.         Wpisy dodajemy za pomocą komendy
  656.         Wysyłając do bota poniższą komendę, wyświetli nam się lista dostępnych komend:
  657.           !serverGroupProtection help
  658.     */
  659.     'serverGroupProtection' =>[
  660.       'enabled' => false,
  661.       'groups' => [554, 10, 552, 419, 11, 13, 14, 15, 16],   # Wszystkie grupy administracyjne
  662.       'ignoredDbIds' => [7414, 7411, 7413, 7412, 2]   # Ignorowane database id
  663.     ],
  664.  
  665.     /*
  666.         Funkcja sprawdzająca nick użytkowników
  667.     */
  668.     'nickNameChecker' => [
  669.       'enabled' => false,
  670.       'ignoredIP' => [],    # Ignorowane adresy IP
  671.       'ignoredGroups' => [10, 47, 45],   # Ignorowane grupy
  672.       'phrases' => ['卍', '.pl', '.net', '.com', '.black', '.live', 'ts.', 'ts3.', 'admin', 'id:', 'jebac', 'jebać', 'chuj', 'pizda', '.fun', 'pierdole', 'kurwa', 'cwel', 'root', 'tsdark', 'livespeak', 'live-speak', 'lajwspik', 'lajw-spik'],    # Zakazane frazy w nicku
  673.     ],
  674.  
  675.  
  676.     /*
  677.         Funkcja nadająca grupę serwera np. "zarejestruj się"
  678.     */
  679.     'newRank' => [
  680.       'enabled' => false,
  681.       'registerGroups' => [10, 47, 45, 40, 50, 51, 46, 454],   # Grupy dzieki, którym bot zabierze grupę serwera
  682.       'ignoredGroups' => [10, 47, 45],    # Ignorowane grupy
  683.       'newRankId' => 53   # Id grupy "zarejestruj się", grupa ta nie może być domyślną! | Jeśli nie ma takiej grupy należy wyłączyć funkcję
  684.     ],
  685.  
  686.     /*
  687.         Funkcja, która banuję osobe z wybraną rangą
  688.     */
  689.     'banGroup' => [
  690.       'enabled' => false,
  691.       'ignoredGroups' => [],  # Grupy ignorowane
  692.       'cfg' => [
  693.         210 => [   # Id grupy
  694.           'duration' => 60,  # Czas trwania bana (w sekundach) | 0 oznacza permanentnie
  695.           'reason' => 'Ban nałożony przez rangę!'   # Powód bana
  696.         ],
  697.       ],
  698.     ],
  699.   ],
  700.  
  701.   'intervalFunctions' => [
  702.  
  703.  
  704.     /*
  705.         Funkcja, która generuje plik z danymi potrzebnymi do baneru
  706.     */
  707.  
  708.     'generateBannerData' => [
  709.       'enabled' => false,
  710.       'interval' => 30,
  711.       'adminGroups' => [48],    # Wszystkie grupy administracyjne
  712.       'generatePath' => false,    # Ta opcja musi być włączona, jeśli baner stawiamy na innym vps/dedyku
  713.       'path' => '/var/www/html/bannerData.php',  # ścieżka gdzie ma wygenerowac plik, z którego baner bedzie pobierał dane (Później nalezy go skonfigurowac!!!)
  714.       'permittedIp' => "['127.0.0.1', '10.0.0.1']",    # Adresy IP, które mogą pobierać informacje z pliku
  715.     ],
  716.  
  717.  
  718.     /*
  719.         Funkcja generująca listę administracji w opisie kanału
  720.         Dostępne zmienne:
  721.           [group] - Nazwa grupy administracyjnej
  722.           [count] - Ilość osób w grupie
  723.           [uid] - UID administratora
  724.           [nick] - Nick administratora
  725.           [date] - Data rozłączenia z serwerem
  726.           [channelId] - Id kanału, na którym siedzi admin
  727.           [channelName] - Nazwa kanału, na którym siedzi admin
  728.     */
  729.     'adminList' => [
  730.       'enabled' => false,
  731.       'interval' => 60,
  732.       'channelId' => 26226,   # Id kanału, gdzie ma generować opis
  733.       'adminGroups' => [10, 419, 11, 13, 14, 15, 16, 242],   # Wszystkie grupy administracyjne
  734.       'awayGroups' => [249],   # Grupy, które jeśli będzie miał admin to będzie away
  735.       'idleTime' => 600,    # Czas afk, po którym admin jest away
  736.       'topDesc' => "[center][size=20]Lista administracji[/size][/center][hr]\n",   # Górny opis kanału
  737.       'groupDesc' => "-> Ranga - [b][group][/b]\n      [size=8]Osób w grupie: [count][/size]\n\n",    # Opis z nazwą rangi i ilości osób w grupie
  738.       'onlineDesc' => "       [url=client://0/[uid]][nick][/url] jest [color=green]online[/color] na kanale [url=channelID://[channelId]][channelName][/url]\n",    # Jeśli admin jest online
  739.       'awayDesc' => "       [url=client://0/[uid]][nick][/url] jest [color=orange]away[/color] na kanale [url=channelID://[channelId]][channelName][/url]\n",   # Jeśli admin jest away
  740.       'offlineDesc' => "       [url=client://0/[uid]][nick][/url] jest [color=red]offline[/color] ostatnio [color=gray]([date])[/color]\n",   # Jeśli admin jest offline
  741.       'noUsers' => "       [color=gray]Brak administratorów w grupie[/color]",   # Jeśli brak adminów
  742.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",
  743.     ],
  744.  
  745.     /*
  746.         Funkcja, która zawiera kilka mniejszych funkcji
  747.     */
  748.     'multiFunction' => [
  749.       'enabled' => false,
  750.       'interval' => 20,
  751.       'cfg' => [
  752.         'onlineOnChannel' => [    # Wypisuje ilośc osób online w nazwie kanału
  753.           'channelId' => 16,
  754.           'channelName' => "Aktualnie online: [on]/[max]",
  755.           'ignoredGroups' => [],  # Ignorowane grupy
  756.         ],
  757.         'pingOnChannel' => [    # Wypisuje aktualny ping w nazwie kanału
  758.           'channelId' => 17,
  759.           'channelName' => "Aktualny ping: [ping]ms"
  760.         ],
  761.         'packetLossOnChannel' => [    # Wypisuje utracone pakiety w nazwie kanału
  762.           'channelId' => 19,
  763.           'channelName' => "Aktualny packetLoss: [packet]%"
  764.         ],
  765.         'uptimeOnChannel' => [    # Wypisuje uptime w nazwie kanału
  766.           'channelId' => 18,
  767.           'channelName' => "Uptime: [uptime]",
  768.         ],
  769.         'queryClientsOnline' => [   # Wypisuje listę klientów query w opisie kanału
  770.           'channelId' => 50,
  771.           'channelName' => "Online klientów query: [on]",
  772.           'topDesc' => "[center][size=20]Lista klientów query[/size][/center][hr][list]",
  773.           'desc' => "[*][url=client://0/[uid]][nick][/url]"
  774.         ],
  775.         'adminCount' =>[    # Wypisuje ilośc administracji w nazwie kanału
  776.           'channelId' => 805,
  777.           'groups' => [65],
  778.           'channelName' => "[cspacer]Administracja: [on]/[all]"
  779.         ],
  780.       ],
  781.       'enabledFunctions' => ['onlineOnChannel', 'pingOnChannel', 'packetLossOnChannel', 'uptimeOnChannel', 'queryClientsOnline', 'adminCount']   # Lista właczonych funkcji
  782.       # Dostępne funkcje: onlineOnChannel, pingOnChannel, packetLossOnChannel, uptimeOnChannel, queryClientsOnline, adminCount
  783.     ],
  784.  
  785.     /*
  786.         Funkcja, która kickuje z centrum pomocy administratorów, którzy są AFK
  787.     */
  788.     'kickFromCp' => [
  789.       'enabled' => false,
  790.       'interval' => 30,
  791.       'channels' => [51, 52, 53],   # Id kanałów centrum pomocy (Nie tych, gdzie zaczepia bot)
  792.       'adminGroups' => [48],      # Wszystkie grupy administracyjne
  793.       'ignoredGroups' => [10],     # Ignorowane grupy
  794.       'awayTime' => 20 * 60,      # Czas AFK. po którym kickuje w sekundach
  795.       'reason' => 'Nie afczymy na centrum pomocy!',   # Powód kick'a
  796.     ],
  797.  
  798.     /*
  799.         Funkcja, która wykonuje kopie zapasową danych (cache)
  800.     */
  801.     'dataCopy' => [
  802.       'enabled' => false,
  803.       'interval' => 3600 * 24,    # Co jaki czas ma wykonywać kopie
  804.       'path' => '/opt/qBot_data_copy',    # Ścieżka do kopii zapasowej
  805.       'maxDays' => 7     # Po ilu dniach ma usuwać stare kopie
  806.     ],
  807.  
  808.     /*
  809.         Funkcja informująca administratorów o pobycie klienta na centrum pomocy
  810.     */
  811.     'autoPoke' => [
  812.       'enabled' => false,
  813.       'interval' => 7,
  814.       'cfg' => [
  815.         0 => [
  816.           'channelId' => 50,    # Id kanału centrum pomocy
  817.           'blockedGroups' => [58],    # Blokowane grupy | Jeśli zostawimy puste nie będzie blokowanych grup
  818.           'adminGroups' => [48],     # Grupy administracji
  819.           'ignoredGroups' => [45, 47],    # Ignorowane grupy
  820.           'ignoredAdminGroups' => [249, 420],   # Ignorowane grupy administracji, jeśli admin będzie miał te grupy nie otrzyma powiadomienia
  821.         ],
  822.       ],
  823.     ],
  824.  
  825.     /*
  826.         Funkcja generująca opis ilości osób onlina z danej grupy serwera
  827.         Kanały dodajemy za pomocą komendy
  828.         Listę komend otrzymamy po wysłaniu poniższej komendy:
  829.          !groupOnline help
  830.  
  831.         Zmienne:
  832.           [nick] - nick użytkownika
  833.           [lastOnline] - kiedy był ostatnio online
  834.           [group] - Nazwa klanu
  835.  
  836.         Funkcja musi być włączona, jeśli chcemy używać "createClanChannels"
  837.     */
  838.     'groupOnline' => [
  839.       'enabled' => false,
  840.       'interval' => 45,
  841.       'topDesc' => "[center][size=16][size=20]Lista użytkowników[/size][/center][hr][center]Grupa: [b] [group] [/b][/center]",     # Górny opis
  842.       'onlineDesc' => "[nick] jest [img]https://i.jutuby.net/on.png[/img]\n",     # Opis, jeśli online
  843.       'offlineDesc' => "[nick] jest [img]https://i.jutuby.net/off.png[/img] [color=gray]([lastOnline])[/color]\n",    # Opis, jeśli offline
  844.       'noDataOfflineDesc' => "[nick] jest [img]https://i.jutuby.net/off.png[/img] [color=gray](Brak danych)[/color]\n",   # Opis, jeśli offline i brak danych o ostatnim połączeniu
  845.       'noUserDesc' => "\n[center][color=gray]Brak użytkowników[/color][/center]\n",   # Opis, jeśli brak użytkowników
  846.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",    # Stopka
  847.     ],
  848.  
  849.     /*
  850.         Funkcja edytująca nazwę serwera
  851.         Zmienne:
  852.         [on] - online na ts
  853.         [max] - ilość slotów
  854.         [proc] - procentowe zapełnienie serwera
  855.     */
  856.     'serverName' => [
  857.       'enabled' => false,
  858.       'interval' => 5,
  859.       'serverName' => "| online: [on] | Brak IPLoggerów | Autorski | Darmowy"   # Wzór nazwy serwera
  860.     ],
  861.  
  862.     /*
  863.         Funkcja zabierajca grupy serwera kiedy ktos ma za ich duzo
  864.     */
  865.     'groupLimit' => [
  866.       'enabled' => false,
  867.       'interval' => 1,
  868.       'ignoredGroups' => [554,10,419,11,13,14,15,16,242,212,213],   # Grupy ignorowane
  869.       'settings' => [
  870.         0 => [
  871.           'groups' => [62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,219,269,272,273,274,275,318,319,320,337,338,340,385,451,461,538,578,579,581,582,583],
  872.           'limit' => 6
  873.         ],
  874.         1 => [
  875.           'groups' => [399,400,401,402,403,404,405,406,407,410,414,415,416,417],
  876.           'limit' => 3
  877.         ],
  878.         2 => [
  879.           'groups' => [99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115],
  880.           'limit' => 1
  881.         ],
  882.         3 => [
  883.           'groups' => [346,116,117,118,119,120,121],
  884.           'limit' => 1
  885.         ],
  886.         4 => [
  887.           'groups' => [32,33,34,748],
  888.           'limit' => 3
  889.         ],
  890.       ],
  891.     ],
  892.  
  893.     /*
  894.         Funkcja nadające grupę serwera, jeśli klient spędzi określny czas na serwerze
  895.         Potrzebna funkcja 'topTimeSpent'
  896.     */
  897.     'autoRegister' => [
  898.       'enabled' => false,
  899.       'interval' => 55,
  900.       'groupAdd' => 51,   # Id grupy serwera
  901.       'requiredTime' => 6 * 3600,   # Wymagany czas (w sekundach)
  902.       'groupsIgnore' => [2, 454, 46, 45, 47]    # Ignorowane grupy
  903.     ],
  904.  
  905.     /*
  906.         Status administracji na kanale
  907.         Zmienne:
  908.           [nick] - nick admina
  909.           [status] - jego status
  910.  
  911.         Dodajemy za pomocą komend
  912.         Napisz do bota poniższą komendę:
  913.         !adminStatusOnChannel help
  914.  
  915.     */
  916.     'adminStatusOnChannel' => [
  917.       'enabled' => false,
  918.       'interval' => 5,
  919.       'awayTime' => 600,    # Czas, po którym nazwa kanału zmieni się na away
  920.       'channelName' => "[nick] jest [status]",    # Wzór nazwy kanału
  921.       'on' => "online",
  922.       'off' => "offline",
  923.       'away' => "away"
  924.     ],
  925.  
  926.     /*
  927.         Funkcja tworząca kanały publiczne, jeśli ich braknie
  928.     */
  929.     'publicProtection' => [
  930.       'enabled' => false,
  931.       'interval' => 6,
  932.       'cfg' => [
  933.         0 => [
  934.           'maxClients' => 0,     # Maksymalna ilośc klientów na kanale | 0 oznacza unlimited
  935.  
  936.           'minFreeChannels' => 5,    # Minimalna ilośc wolnych kanałów
  937.  
  938.           'channelId' => 8,    # Id kanału nadrzędnego
  939.  
  940.           'channelName' => '» Kanał [num]',   # Nazwa kanału
  941.         ],
  942.         1 => [
  943.           'maxClients' => 5,
  944.  
  945.           'minFreeChannels' => 5,
  946.  
  947.           'channelId' => 23,
  948.  
  949.           'channelName' => '» Kanał [num]',
  950.         ],
  951.         2 => [
  952.           'maxClients' => 3,
  953.  
  954.           'minFreeChannels' => 5,
  955.  
  956.           'channelId' => 27,
  957.  
  958.           'channelName' => '» Kanał [num]',
  959.         ],
  960.         3 => [
  961.           'maxClients' => 2,
  962.  
  963.           'minFreeChannels' => 5,
  964.  
  965.           'channelId' => 32,
  966.  
  967.           'channelName' => '» Kanał [num]',
  968.         ],
  969.       ],
  970.     ],
  971.  
  972.  
  973.     /*
  974.         Funkcja tworząca strefe klanową/premium/VIP i podpina automatycznie funkcyjne kanały
  975.         Dosepne typy kanałów:
  976.           channelNumeration - Numeracja strefy, bez nadaniu grupy kanału | dostępna jest tu zmienna "[s]" | (MOZNA UŻYĆ TYLKO RAZ!)
  977.           normal - zwykły kanał, bez nadania grupy kanału
  978.           addChannelGroup - kanał, na którym otrzymamy grupę kanału
  979.           onlineOnChannel - kanał, w który będzie wpisana ilość osób online, bez nadania grupy kanału | (MOZNA UŻYĆ TYLKO RAZ!)
  980.           clanGroup - kanał, na którym otrzymamy grupe serwera, tutaj otrzymamy grupę kanału | (MOZNA UŻYĆ TYLKO RAZ!)
  981.           teleportChannel - kanał, na który bot będzie przenosić po wpisaniu odpowiedniej komendy. Tu otrzymamy grupę kanału. Wymagana jest włączona funkcja 'teleport'  | (MOZNA UŻYĆ TYLKO RAZ!)
  982.  
  983.         Dodatkowo w każdym typie kanału możemy użyć zmiennej "[group]" czyli nazwa grupy serwera (gildii/klanu)
  984.  
  985.         W typie 'onlineOnChannel' [num] - id rangi, [on] - liczba osób online, [all] - wszyscy
  986.         W pozostałych trybach [s] - oznacza numer strefy
  987.        
  988.        Opcja 'setup' służy do zapisu kanałów, które można edytować w panelu (Panel może będzie dostępny za jakiś czas)
  989.        W opcji 'setup' można użyć:
  990.         'channelGroupName' - Tylko raz
  991.         'setup' - Dowolną ilość razy
  992.  
  993.  
  994.  
  995.         Jeśli, ktoś ma problem z ustawieniem tego może zgłosić się na forum (egcforum.pl), ts (jutuby.NET), telegram (@Stal_ket)
  996.  
  997.     */
  998.  
  999.     'createClanChannels' => [
  1000.       'enabled' => false,
  1001.       'interval' => 4,
  1002.       'cfg' => [
  1003.         'one' => [
  1004.           'channelId' => 229,    # Id kanału, po wejściu na niego tworzy nam kanał premium
  1005.           'firstChannel' => 254,   # Id kanału pod którym ma utworzyć pierwszy kanał
  1006.           'channelAdminGroupId' => 5,    # Id grupy kanałowej, którą ma nadać
  1007.           'groupToCopy' => 9,   # Id grupy serwerowej, którą ma kopiować
  1008.           'moveChannelId' => 4,    # Id kanału, jeśli na niego wejdziemy przeniesie nas na kanał ekipy | Do tego musi być włączona funkcja 'moveWhenJoinChannel'
  1009.           'moveChannelEnabled' => true,   # Włącz/wyłącz powyższą opcję
  1010.           'channelNumeration' => '[rspacer_one_[s]]Nr. [s]',
  1011.           'channels' => [
  1012.             0 => [
  1013.               'channelName' => '[*spacer[num]]    ·',
  1014.               'type' => 'normal',
  1015.             ],
  1016.             1 => [
  1017.               'channelName' => '[rspacer_one_[s]]Nr. [s]',
  1018.               'type' => 'channelNumeration',
  1019.             ],
  1020.             2 => [
  1021.               'channelName' => '[rspacerone[num]]• Strefa [group] •',
  1022.               'type' => 'normal',
  1023.               'setup' => 'channelGroupName',
  1024.             ],
  1025.             3 => [
  1026.               'channelName' => '[lspacerone[num]]Status ekipy',
  1027.               'type' => 'addChannelGroup',
  1028.               'sub' => [
  1029.                 0 => [
  1030.                   'channelName' => 'Online: [on]/[all]',
  1031.                   'type' => 'onlineOnChannel',
  1032.                 ],
  1033.                 1 => [
  1034.                   'channelName' => 'Nadaj/Odbierz rangę',
  1035.                   'type' => 'clanGroup',
  1036.                 ],
  1037.                 2 => [
  1038.                   'channelName' => 'Przystanek',
  1039.                   'type' => 'teleportChannel',
  1040.                 ],
  1041.               ],
  1042.             ],
  1043.             4 => [
  1044.               'channelName' => '[lspacerone[num]]• Kanał główny',
  1045.               'type' => 'addChannelGroup',
  1046.               'setup' => 'saveThatChannel',
  1047.               'sub' => [
  1048.                 0 => [
  1049.                   'channelName' => '#1',
  1050.                   'type' => 'normal',
  1051.                 ],
  1052.                 1 => [
  1053.                   'channelName' => '#2',
  1054.                   'type' => 'normal',
  1055.                 ],
  1056.                 2 => [
  1057.                   'channelName' => '#3',
  1058.                   'type' => 'normal',
  1059.                 ],
  1060.                 3 => [
  1061.                   'channelName' => '#4',
  1062.                   'type' => 'normal',
  1063.                 ],
  1064.                 4 => [
  1065.                   'channelName' => '#5',
  1066.                   'type' => 'normal',
  1067.                 ],
  1068.                 5 => [
  1069.                   'channelName' => '#6',
  1070.                   'type' => 'normal',
  1071.                 ],
  1072.                 6 => [
  1073.                   'channelName' => '#7',
  1074.                   'type' => 'normal',
  1075.                 ],
  1076.                 7 => [
  1077.                   'channelName' => '#8',
  1078.                   'type' => 'normal',
  1079.                 ],
  1080.               ],
  1081.             ],
  1082.           ],
  1083.         ],
  1084.         'two' => [
  1085.           'channelId' => 467,    # Id kanału, po wejściu na niego tworzy nam kanał premium
  1086.           'firstChannel' => 468,   # Id kanału pod którym ma utworzyć pierwszy kanał
  1087.           'channelAdminGroupId' => 5,    # Id grupy kanałowej, którą ma nadać
  1088.           'groupToCopy' => 9,   # Id grupy serwerowej, którą ma kopiować
  1089.           'moveChannelId' => 4,    # Id kanału, jeśli na niego wejdziemy przeniesie nas na kanał ekipy | Do tego musi być włączona funkcja 'moveWhenJoinChannel'
  1090.           'moveChannelEnabled' => true,   # Włącz/wyłącz powyższą opcję
  1091.           'channelNumeration' => '[rspacer_two_[s]]Nr. [s]',
  1092.           'channels' => [
  1093.             0 => [
  1094.               'channelName' => '[*spacer[num]]    ·',
  1095.               'type' => 'normal',
  1096.             ],
  1097.             1 => [
  1098.               'channelName' => '[rspacer_two_[s]]Nr. [s]',
  1099.               'type' => 'channelNumeration',
  1100.             ],
  1101.             2 => [
  1102.               'channelName' => '[cspacertwo[num]]• Strefa [group] •',
  1103.               'type' => 'normal',
  1104.               'setup' => 'channelGroupName',
  1105.             ],
  1106.             3 => [
  1107.               'channelName' => '[lspacertwo[num]]Status ekipy',
  1108.               'type' => 'addChannelGroup',
  1109.               'sub' => [
  1110.                 0 => [
  1111.                   'channelName' => 'Online: [on]/[all]',
  1112.                   'type' => 'onlineOnChannel',
  1113.                 ],
  1114.                 1 => [
  1115.                   'channelName' => 'Nadaj/Odbierz rangę',
  1116.                   'type' => 'clanGroup',
  1117.                 ],
  1118.                 2 => [
  1119.                   'channelName' => 'Przystanek',
  1120.                   'type' => 'teleportChannel',
  1121.                 ],
  1122.               ],
  1123.             ],
  1124.             4 => [
  1125.               'channelName' => '[lspacertwo[num]]• Kanał główny',
  1126.               'type' => 'addChannelGroup',
  1127.               'setup' => 'saveThatChannel',
  1128.               'sub' => [
  1129.                 0 => [
  1130.                   'channelName' => '#1',
  1131.                   'type' => 'normal',
  1132.                 ],
  1133.                 1 => [
  1134.                   'channelName' => '#2',
  1135.                   'type' => 'normal',
  1136.                 ],
  1137.                 2 => [
  1138.                   'channelName' => '#3',
  1139.                   'type' => 'normal',
  1140.                 ],
  1141.                 3 => [
  1142.                   'channelName' => '#4',
  1143.                   'type' => 'normal',
  1144.                 ],
  1145.                 4 => [
  1146.                   'channelName' => '#5',
  1147.                   'type' => 'normal',
  1148.                 ],
  1149.                 5 => [
  1150.                   'channelName' => '#6',
  1151.                   'type' => 'normal',
  1152.                 ],
  1153.                 6 => [
  1154.                   'channelName' => '#7',
  1155.                   'type' => 'normal',
  1156.                 ],
  1157.                 7 => [
  1158.                   'channelName' => '#8',
  1159.                   'type' => 'normal',
  1160.                 ],
  1161.               ],
  1162.             ],
  1163.           ],
  1164.         ],
  1165.       ],
  1166.     ],
  1167.  
  1168.  
  1169.  
  1170.     /*
  1171.         Funkcja wysyłająca link do bota muzycznego
  1172.     */
  1173.     'musicBotChecker' => [
  1174.       'enabled' => false,
  1175.       'interval' => 5,
  1176.       'cfg' => [
  1177.         0 => [
  1178.           'idleTime' => 2,    # Czas idle w sekundach, po którym ma wysłać komende
  1179.           'cldbid' => 1346,   # DatabaseId bota
  1180.           'commands' => ['!play https://s2.radioparty.pl:8015/stream?type=http&amp;nocache=6107', '!v 3'],    # Komenda
  1181.         ],
  1182.       ],
  1183.     ],
  1184.  
  1185.     /*
  1186.         Funkcja usuwająca wpisy z cache np. "clanGroup" jeśli kanał zostanie usunięty
  1187.         Ta funkcja powinna być zawsze włączona
  1188.     */
  1189.     'removeOldChannels' => [
  1190.       'enabled' => false,
  1191.       'interval' => 40,
  1192.     ],
  1193.   ],
  1194.  
  1195. ];
  1196.  
  1197. $config[4]['functions'] = [
  1198.  
  1199.   'intervalFunctions' => [
  1200.  
  1201.  
  1202.     /*
  1203.       Funkcja, która nadaje administratorowi rangę "admin miesiąca"
  1204.       Musi być włączona funkcja "helpProvided
  1205.    */
  1206.    'monthAdminGroup' => [
  1207.      'enabled' => false,
  1208.      'interval' => 120,
  1209.      'monthAdminGroup' => 782,   # Grupa serwera do nadania
  1210.      'adminGroups' => [48]   # Grupy administracji
  1211.    ],
  1212.  
  1213.  
  1214.    /*
  1215.      Funkcja zabiera grupe serwera nadaną przez token, po czasie X
  1216.    */
  1217.    'checkTokens' => [
  1218.      'enabled' => false,
  1219.      'interval' => 1
  1220.    ],
  1221.  
  1222.    /*
  1223.        Funkcja zapisująca ilość połączeń
  1224.    */
  1225.    'topConnections' => [
  1226.      'enabled' => false,
  1227.      'interval' => 60,
  1228.      'ignoredGroups' => [45, 47, 46],    # Ignorowane grupy
  1229.    ],
  1230.  
  1231.    /*
  1232.        Funkcja zapisująca czas spędzony na serwerze
  1233.    */
  1234.    'topTimeSpent' => [
  1235.      'enabled' => false,
  1236.      'interval' => 60,
  1237.      'ignoredGroups' => [45, 47, 46],    # Ignorowane grupy
  1238.    ],
  1239.  
  1240.    /*
  1241.        Funkcja zapisująca czas AFK spędzony na serwerze
  1242.    */
  1243.    'topAfkSpent' => [
  1244.      'enabled' => false,
  1245.      'interval' => 60,
  1246.      'ignoredGroups' => [45, 47, 46],    # Ignorowane grupy
  1247.    ],
  1248.  
  1249.    /*
  1250.        Funkcja zapisująca najdłuższe połączenie
  1251.    */
  1252.    'topConnectedTime' => [
  1253.      'enabled' => false,
  1254.      'interval' => 60,
  1255.      'ignoredGroups' => [45, 47, 46],    # Ignorowane grupy
  1256.    ],
  1257.  
  1258.    /*
  1259.        Funkcja wypisująca statystyki udzielonej pomocy w opisie kanału
  1260.        Musi być włączona funkcja "helpProvided
  1261.     */
  1262.     'writeHelpProvided' => [
  1263.       'enabled' => false,
  1264.       'interval' => 60 * 60,
  1265.       'channelId' => 17094,    # Id kanału, gdzie ma generować opis
  1266.       'adminGroups' => [48],    # Grupy administracyjne
  1267.       'topDesc' => "[center][size=20]Udzielona pomoc[/size][/center][hr]",    # Górny opis kanału
  1268.       'desc' =>   # Właściwy opis kanału
  1269.       "
  1270.      [size=13][b]-> [nick][/b][/size][size=10][list]
  1271.            [*]Udzielona pomoc w sumie: [b][all][/b]
  1272.            [*]Udzielona pomoc w tym miesiącu: [b][monthly][/b]
  1273.            [*]Udzielona pomoc w tym tygodniu: [b][weekly][/b]
  1274.            [*]Udzielona pomoc dziś: [b][daily][/b][/list][/size]
  1275.      ",
  1276.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",    # Stopka
  1277.     ],
  1278.  
  1279.     /*
  1280.         Funkcja wypisująca statystyki w opis kanału
  1281.  
  1282.         Do wyświetlania odpowiednich statystyk muszą zostać włączone odpowiednie funkcje!
  1283.     */
  1284.     'showStatistics' => [
  1285.       'enabled' => false,
  1286.       'interval' => 60 * 90,
  1287.       'cfg' => [
  1288.         'topTimeSpent' => [
  1289.           'channelId' => 84,   # Id kanału, gdzie ma generować opis
  1290.           'topDesc' => "[center][size=20]Spędzony czas[/size][/center][hr][list=1]",    # Górny opis kanału
  1291.           'desc' => "[*][size=13][url=client://0/[uid]][nick][/url][/size][size=11] [time][/size]"    # Dolny opis kanału
  1292.         ],
  1293.         'topConnectedTime' => [
  1294.           'channelId' => 91,   # Id kanału, gdzie ma generować opis
  1295.           'topDesc' => "[center][[size=20]Najdłuższe połączenie[/size][/center][hr][list=1]",
  1296.           'desc' => "[*][size=13][url=client://0/[uid]][nick][/url][/size][size=11] Rekord: [time][/size]"
  1297.         ],
  1298.         'topConnections' => [
  1299.           'channelId' => 92,   # Id kanału, gdzie ma generować opis
  1300.           'topDesc' => "[center][size=20]Ilość połączeń[/size][/center][hr][list=1]",
  1301.           'desc' => "[*][size=13][url=client://0/[uid]][nick][/url][/size][size=11] Ilość połączeń: [conn][/size]"
  1302.         ],
  1303.         'topAfkSpent' => [
  1304.           'channelId' => 26228,   # Id kanału, gdzie ma generować opis
  1305.           'topDesc' => "[center][size=20]Spędzony czas afk[/size][/center][hr][list=1]",
  1306.           'desc' => "[*][size=13][url=client://0/[uid]][nick][/url][/size][size=11] [time][/size]"    #
  1307.         ],
  1308.       ],
  1309.       'results' => 50,    # Ilość rekordów do wyświetlenia dot. "topek"
  1310.       'ignoredGroups' => [45, 47, 46],    # Grupy ignorowane (te grupy nie będą wyświetlane) | Jeśli zostawimy puste każdy będzie wyświetlany
  1311.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",
  1312.       'enabled' => ['topTimeSpent', 'topConnectedTime', 'topConnections'],   # Lista funkcji włączonych
  1313.       # Dostępne funkcje: topTimeSpent, topConnectedTime, topConnections, topAfkSpent
  1314.     ],
  1315.  
  1316.     /*
  1317.         Funkcja, która usuwa nowych użytkowników z funkcji 'newUsersToday'
  1318.         Ta funkcja musi byc włączona, jeśli używamy 'newUsersToday'
  1319.     */
  1320.     'removeNewUsersToday' => [
  1321.       'enabled' => false,
  1322.       'interval' => 3600
  1323.     ],
  1324.  
  1325.     /*
  1326.         Funkcja sprawdzająca kanały prywatne
  1327.     */
  1328.     'channelChecker' => [
  1329.       'enabled' => false,
  1330.       'interval' => 120,
  1331.       'holidayTopic' => 'urlop',    # Temat kanału dzięki, któremu kanał nie zostanie usunięty
  1332.       'mainChannelId' => 43,   # Id kanału, pod którym tworza się kanały prywatne
  1333.     ],
  1334.  
  1335.     /*
  1336.         Funkcja sprawdzająca kanały prywatne
  1337.         Zmienne:
  1338.           [num] - numeracja
  1339.           [name] - nazwa kanału
  1340.     */
  1341.     'removePrivateChannels' => [
  1342.       'enabled' => false,
  1343.       'interval' => 120,
  1344.       'mainChannelId' => 43,   # Id kanału, pod którym tworza się kanały prywatne
  1345.       'removeDays' => 14,   # Po ilu dniach kanał ma zostać usunięty
  1346.       'warnDays' => 9,    # Po ilu dniach nazwa kanału ma sie zmienić na np. '[Do usunięcia!]'
  1347.       'holidayTopic' => 'urlop',    # Temat kanału dzięki, któremu kanał nie zostanie usunięty
  1348.       'toRemove' => "[num]. [Do usunięcia]",    # Nazwa kanału, jeśli ma być do usunięcia
  1349.       'channelName' => "[num]. [name]"    # Wzór nazwy kanału
  1350.     ],
  1351.  
  1352.     /*
  1353.         Funkcja nadająca levele za spędzony czas | Wymagana jest włączona funkcja 'topTimeSpent'
  1354.     */
  1355.     'levels' => [
  1356.       'enabled' => false,
  1357.       'interval' => 150,
  1358.       'ignoredGroups' => [],    # Ignorowane grupy, jeśli zostawimy puste nie będzie ignorowanych grup
  1359.       'levels' => [
  1360.         # level => ['group' => ID_GRUPY, 'time' => CZAS_SPEDZONY_W_SEKUNDACH],
  1361.         1 => ['group' => 161, 'time' => 60],
  1362.         2 => ['group' => 162, 'time' => 60 * 60 * 1],
  1363.         3 => ['group' => 163, 'time' => 60 * 60 * 4],
  1364.         4 => ['group' => 164, 'time' => 60 * 60 * 8],
  1365.         5 => ['group' => 165, 'time' => 60 * 60 * 16],
  1366.         6 => ['group' => 166, 'time' => 60 * 60 * 24],
  1367.         7 => ['group' => 167, 'time' => 60 * 60 * 36],
  1368.         8 => ['group' => 168, 'time' => 60 * 60 * 24 * 3],
  1369.         9 => ['group' => 169, 'time' => 60 * 60 * 24 * 6],
  1370.         10 => ['group' => 170, 'time' => 60 * 60 * 24 * 10],
  1371.       ],
  1372.     ],
  1373.  
  1374.     /*
  1375.       Funkcja wpisuje w opis kanału listę banów
  1376.       Zmienne:
  1377.         [uidBanned] - UID osoby zbanowanej
  1378.         [nickBanned] - nick osoby zbanowanej
  1379.         [reason] - powód bana
  1380.         [duration] - czas trwania bana
  1381.         [created] - data nałożenia bana
  1382.         [invokeruid] - UID osoby banującej
  1383.         [adminNick] - nick osoby banującej
  1384.  
  1385.     */
  1386.     'banList' => [
  1387.       'enabled' => false,
  1388.       'interval' => 60,
  1389.       'channelId' => 2706,  # Id kanału gdzie ma wpisywać opis
  1390.       'count' => 10,  # Ilośc banów do wyświetlenia
  1391.       'topDesc' => '[center][size=20]Lista banów[/size][/center]',  # Górny opis kanału
  1392.       'desc' => '[list][*]Nick zbanowanego: [url=client://0/[uidBanned]][nickBanned][/url][*]Powód bana: [reason][*]Czas trwania: [duration][*]Data utworzenia: [created][*]Banujący: [url=client://0/[invokeruid]][adminNick][/url][/list]\n',
  1393.       'footer' => "[hr][right][size=13]ⓒ Stalker (Telegram: @Stal_ker)[/size][/right]",    # Stopka
  1394.     ],
  1395.   ],
  1396.  
  1397.   'fastFunctions' => [
  1398.     # Brak funkcji
  1399.   ],
  1400. ];
  1401.  
  1402.  
  1403. #
  1404. ##  Premium instance (GuildChat)
  1405. #
  1406.  
  1407. $config[5]['functions'] = [
  1408.  
  1409.   'commands' => [
  1410.  
  1411.     /*
  1412.       Funkcja, dzięki czemu członkowie klanów będą mogli korzystać z czatu grupowego
  1413.     */
  1414.     'guildChat' => [
  1415.       'enabled' => false,
  1416.       'help' => [
  1417.         0 => '-> Witaj, poniżej przedstawiam Ci komendy jakie możesz uzyć!',
  1418.         1 => '   - [b]!mute[/b] [i](Wycisza czat do momentu aż go odciszymy)[/i]',
  1419.         2 => '   - [b]!mute <czas w sekundach>[/b] [i](Wycisza czat na określoną ilość sekund)[/i]',
  1420.         3 => '   - [b]!unmute[/b] [i](Odcisza czat)[/i]',
  1421.         4 => '   - [b]!switch <numer grupy>[/b] [i](Zmieniamy grupę czatu)[/i]',
  1422.         5 => '   - [b]!chat list[/b] [i](Wyświetla nam się lista z naszymi grupami czatów)[/i]'
  1423.       ],
  1424.     ],
  1425.   ],
  1426.  
  1427.     /*
  1428.       Funkcja, która wysyła powiadomienie o możliwości dołączenia do czatu grupowego
  1429.     */
  1430.   'joinServer' => [
  1431.     'guildChatMessage' => [
  1432.       'enabled' => false,
  1433.       'msg' => [
  1434.         0 => '-> Witaj w czacie grupowym!',
  1435.         1 => '-> Nasz system wykrył, że posiadasz grupę, która ma uprawnienia do korzystania z czatu.',
  1436.         2 => '   - Wpisz [b]!help[/b] aby dowiedzieć się jak korzystać z czatu ;)',
  1437.         3 => '   - [u]Pamiętaj![/u] zawsze możesz wyłączyć to powiadomienie wpisując [b]!chat message off[/b]',
  1438.         4 => '   - Możesz później też włączyć tą wiadomość wpisująć [b]!chat message on[/b]'
  1439.       ]
  1440.     ],
  1441.   ],
  1442.  
  1443. ];
Add Comment
Please, Sign In to add comment