Yes i have read the TCL Commands, i tend to keep it open while i do these sorts of things.
After doing the experimentation with some bits of it last night, i found that the [channels] command gives me the list i want, in a [#channel1 #channel2] format, which should be easy enough to split.
Gave it a bit of though, and the way i figured it out logically last night was like this, roughly
* first loop - for each channel in [channels] run this command
>> check the channel modes for +list-ban
>>> if it has that mode, then run the in channel !list function, and find the little buggers
>>> if not, Ret0
** then, for each notice recieved in that channel run checks on it
>>> if its an fserve notice i recognise
>>>> goto next check
>>> if the person is voiced
>>>> goto next notice check
>>>> else ban the person
** end loop 2, go to next check
>> do the little logging thing
* end loop 1
What i am worried about is the running of 2 loops inside of each other, will the bot lag VERY badly, or will it still be able to function. Would like it to be as fast as possible, so this script takes at most, 15 seconds to run in its entirety, it might even be worth adding the ban to a big queue, and at the end of it all, banning who needs to be banned from the channel . Also doesnt help that i am reaaaaaly bad with the loop code, not sure how to get it to look at the channels variable, and split it, same problem with the notice bit.
i think this is the one i have to use...
The foreach command implements a loop where the loop variable(s) take on values from one or more lists. In the simplest case there is one loop variable, varname, and one list, list, that is a list of values to assign to varname. The body argument is a Tcl script. For each element of list (in order from first to last), foreach assigns the contents of the element to varname as if the lindex command had been used to extract the element, then calls the Tcl interpreter to execute body.
problem is, i have no idea really, what it is talking about
