• If you need help or want to discuss things, you now can also join us on our Discord Server!
OKlib

OKlib 1.0.6

No permission to download

Diesmon

Tuetchen Dominator
is awesome!
Contributor
Insider
#4
Is eher für Entwickler interessant oder?
Absolut Korrekt. Sogar nur für Entwickler interessant. Ist halt ne Library. Also um aufgaben für Entwickler abzunehmen.

Nur muss halt jeder User von den scripts die auf der OKlib aufbauen die OKlib halt einmalig installiert haben.
 

Diesmon

Tuetchen Dominator
is awesome!
Contributor
Insider
#6
Ahh ok gut zu wissen,wofür ist OKlib denn da bzw. was wird dadurch in Zukunft denn möglich sein bei den Scripts? ;)
Im endeffekt können wir hiermit das Rad (den SinusBot) nicht neu erfinden. Schließlich können wir nur auf Funktionen zugreifen die der SinusBot von Haus aus bietet.

Aber wir vereinfachen halt calls massiv. Guck dir mal die Beispiele an auf der Hauptseite. Da habe ich beispiel code gezeigt um mit einer Zeile alle clients mit nem Packetverlust von >= 10% zu bekommen, welche zudem nicht in serverGruppe X sind.

Woher wäre das 15-20 Zeilen code gewesen würde ich schätzen. So ist es nur eine einzige Zeile. Und man muss es halt nie neu schreiben für ne anderes Script was man macht. Halt der sinn einer Lib. Aufgaben vereinfachen.

Man sagt quasi: "Lib. Gib mir alle Clients mit diesen Eigenschaften. Danke".
Geht natürlich auch mit Channels oder sonstigen Objects.

Auch bieten wir das printen von kompletten Arrays oder sonstigen Objects.

Ne weiteres Beispiel:
Code:
var result = [];
var targetChannel = ChannelObject
var channelPool = channelObjectArray; //z.b. backend.getChannels();
for(var curChannel in channelPool){
    if(channelPool[curChannel].parent().id() == targetChannel.id()){
        result.push(channelPool[curChannel]);
    }
}
So habe ich immer nach allen Subchannels eines channels gesucht, da channel objects nicht mit nem Child-Array attribute/function kommen.

so schaut das aus wenn du OKlib nutzt:
Code:
var subchannels = OKlib.channel.getSubchannels(targetChannel, channelPool);
Wobei das channelPool gerade bei der funktion hier erst mit dem nächsten update kommt :D
Atm nutzt sie noch backend.getChannels().

Sprich es muss noch (bis zum 1.0.3 update) so genutzt werden:
Code:
var subchannels = OKlib.channel.getSubchannels(targetChannel);
 
Last edited:

Diesmon

Tuetchen Dominator
is awesome!
Contributor
Insider
#7
Diesmon updated OKlib with a new update entry:

Version 1.0.3

New function:
  • client.urlToClient Parses a TS3-Client URL into a Client Object
  • array.filterByAttribute Filters the elements from given Array for its Attributes value
Added:
  • channel.getSubchannels added an optional channel array as last parameter. If not provided the function will use all channels
Fixes:
  • general.getBots Returns now only Unique clients (even if bots are double connected with the same UID)
Read the rest of this update entry...
 

Diesmon

Tuetchen Dominator
is awesome!
Contributor
Insider
#9
Diesmon updated OKlib with a new update entry:

1.0.4

Added:
  • helper.isInt New function that will test a number if it is a int
  • string.matchUID Checks if a string is a valid UID (only syntax check)
Fixed:
  • client.search Fixed a derpy singel client return when only one client was found. Will now give back a array regardless of the search results (Empty array if nothing was found)
  • removed some double logging
  • fixed a falsely used global var
Read the rest of this update entry...