EPIC4 Manual


myservers()

Clinet Info

myservers([arg])

Zwraca listę serverów, do których jesteśmy aktualnie połączeni. Funkcja zwraca nazwy serverów lub, gdy podamy jakikolwiek arg, ich refnumy. W zasadzie używa się tej funkcji w skryptach obsługujących po kilka połączen naraz, wiec i przykład będzie też odpowidnio ciekawy. Jeżeli nie chcesz się przestraszyć, to przejdź dalej :-)



@ :test1 = myservers()
@ :test2 = myservers(1)

$test1 to np 'lublin.irc.pl efnet.irc.pl'
$test2 to np '0 4'


Załóżmy, że jesteżmy połączeni naraz do serverów refnum '1' i '3'. Chcemy sprawdzić, czy na jakimś kanale nie ma gościa o nicku 'Pikachu', a następnie powiedzieć mu coś tam na public.

for s in ($myservers(x)) {
   xeval -server $s {
      for c in ($mychannels($s)) {
         for n in ($chanusers($c)) {
            if (n == [Pikachu]) {
               msg $c Pikachu: PokemonZ suX
            }
         }
      }
   }
}

Co zrobiłem?
1. Pętla po refnumach moich serverów - każdy server po kolei to $s
2. Przejście na konkretny server $s za pomocą 'xeval'
3. Pętla po moich kanałach na serverze $s
4. Pętla po nickach na kanale $c na serverze $s
5. Sprawdzam, czy dany nick $n to 'Pikachu'
6. Dostatecznie zamieszałem? :)



Nic nie rozumiesz? Dalej trenuj Pokemony albo zobacz: for, xeval lub/i $mychannels()




Lista Funkcji Home Następny Paragraf