• If you need help or want to discuss things, you now can also join us on our Discord Server!
  • A first preview of the unlimited version of SinusBot can be found in the Upcoming Changes thread. A version for Windows will follow, but we don't have a release date, yet.

EN [SOLVED] databaseId() throwing a TypeError

Fabeyy

Active Member
Contributor
Hey there,

databaseId() as well as dbId() (alias) are giving me a TypeError when I try to use them on a client. It looks like this:

Error in script (event chat): TypeError: 'databaseId' is not a function at advancedclientinfo.js:96:38
or
Error in script (event chat): TypeError: 'dbId' is not a function at advancedclientinfo.js:96:38

Is this a known error or am I doing something wrong?
 

mxschmitt

Moderator
Staff member
is awesome!
V.I.P.
is uber awesome!
Contributor
Insider
please provide us your script on pastebin for example.
 

Fabeyy

Active Member
Contributor
It's very easy to replicate, you just gotta use .dbId() / .databaseId() on any client.

For example like this:
https://pastebin.com/DZyb8NHt

Typing !test to the bot results in
Error in script (event chat): TypeError: 'dbId' is not a function at test.js:19:39
in the logfile.
 

Lala Sabathil

Donor
is awesome!
Contributor
Insider
@Fabeyy schau dir mal das ev.client Objekt an ;)
Es loggt nur Die clid und den clnamen
H3kH5n4.png
 
Last edited:

Fabeyy

Active Member
Contributor
@Fabeyy schau dir mal das ev.client Objekt an ;)
Es loggt nur Die clid und den clnamen
H3kH5n4.png
Wenn du das Objekt logst werden aber keine Methoden des Objekts angezeigt.
Wenn du in mein Test Script über
Code:
user.chat('Your Database ID: ' + user.dbId());
folgendes einfügst
Code:
user.chat(user.uid());
funktioniert das ja auch ohne Probleme (oder .country() oder was auch immer), obwohl die UID nicht angezeigt wird wenn du das Client Objekt logst (die Client ID aus dem Objekt ist die temporäre vom Server vergebene ID, nicht die UID).
Aller hier gelisteten Methoden sollten doch auf das Client Objekt anwendbar sein, sind sie auch größtenteils. .dbId() und .databaseId() sind es leider nicht.
.getServerGroups() funktioniert zum Beispiel auch nicht richtig, werde dafür aber wohl noch mal einen neuen Thread erstellen.
 

irgendwr

no longer active, "retired" staff member
is awesome!
V.I.P.
is uber awesome!
Contributor
Insider
Hi, Versuch mal statt Id ID zu schreiben.
dbId => dbID
 

irgendwr

no longer active, "retired" staff member
is awesome!
V.I.P.
is uber awesome!
Contributor
Insider
.databaseID() geht

.dbID() gibt es anscheinend nicht mehr
 

Fabeyy

Active Member
Contributor
.databaseID() geht

.dbID() gibt es anscheinend nicht mehr
Du hast recht, .databaseID() funktioniert, danke.
Dann sollte man das in der Scripting Engine mal anpassen, da steht .databaseId() (was ja auch richtig wäre bei Lower Camel Case).

Hast du auch eine Erklärung dafür warum .getServerGroups() ein Array mit leeren Objekten zurückgibt (Anzahl der Objekte entspricht der Anzahl der Servergruppen)?
 

irgendwr

no longer active, "retired" staff member
is awesome!
V.I.P.
is uber awesome!
Contributor
Insider
Dann sollte man das in der Scripting Engine mal anpassen, da steht .databaseId() (was ja auch richtig wäre bei Lower Camel Case).
Hab ich gerade korrigiert, im nächsten release gibt es dann hoffentlich beide functions :)

Hast du auch eine Erklärung dafür warum .getServerGroups() ein Array mit leeren Objekten zurückgibt (Anzahl der Objekte entspricht der Anzahl der Servergruppen)?
.getServerGroups() gibt ein array von ServerGroup Objects zurück, genau wie es in der doku steht.
Kann sein, dass die sich nicht zu strings konvertieren lassen (wie loggst du die?), aber .id() und .name() gehen auf jeden fall, wie sie sollen.
 

Fabeyy

Active Member
Contributor
Hab ich gerade korrigiert, im nächsten release gibt es dann hoffentlich beide methoden :)


.getServerGroups() gibt ein array von ServerGroup Objects zurück, genau wie es in der doku steht.
Kann sein, dass die sich nicht zu strings konvertieren lassen (wie loggst du die?), aber .id() und .name() gehen auf jeden fall, wie sie sollen.
Mein Fehler, hatte etwas in meinem Code übersehen, funktioniert wie es soll.
.getServerGroups() lässt sich mit JSON.stringify auch problemlos als String ausgeben (so lange man es nicht auf Client anwendet) :)
 
Last edited:
Top