Frage: Knuddel auf KnuddelAccount einzahlen

Posted by: dotenv

Frage: Knuddel auf KnuddelAccount einzahlen - 21.05.2023, 14:28:49

Hallo zusammen,

ich bin mir nicht ganz sicher, wie ich die Knuddel, die ich an den Bot zahle, auf meinen KnuddelAccount übertragen kann. Die Dokumentation enthält keine direkte Methode, um die Knuddel direkt auf den KnuddelAccount zu übertragen zumindest habe ich keine Methode diesbezüglich finden können. Hat das eventuell etwas mit dem KnuddelPot zutun?

Wenn ich den Befehl "/appknuddel Bot:1" verwende, um Knuddel an den Bot zu überweisen, landen diese auf dem AppBot, aber nicht direkt in meinem Account.

Danke vorab.

Gruß.
Posted by: riesaboy

Re: Frage: Knuddel auf KnuddelAccount einzahlen - 21.05.2023, 15:13:55

Hi,

dazu musst du folgendes Event in deiner App implementieren:

Zitat:

App.onBeforeKnuddelReceived = function(knuddelTransfer) {
knuddelTransfer.accept();
}
Posted by: dotenv

Re: Frage: Knuddel auf KnuddelAccount einzahlen - 21.05.2023, 19:22:17

Antwort auf: riesaboy
Hi,

dazu musst du folgendes Event in deiner App implementieren:

Zitat:

App.onBeforeKnuddelReceived = function(knuddelTransfer) {
knuddelTransfer.accept();
}


Hi,

danke für die Rückmeldung. Leider landen die Knuddel immer noch nicht auf meinem KAccount, wenn ich /appknuddel Bot:1 eingebe.

Im Apps-Menü wird jedoch erkannt, dass der Hook vorhanden ist und über knuddelTransfer.getSender().sendPrivateMessage() bekomme ich auch die Antwort, dass der Knuddel eingezahlt wurde aber mein KAccount ist immer noch leer.

Gruß
Posted by: Professor James Moriarty

Re: Frage: Knuddel auf KnuddelAccount einzahlen - 21.05.2023, 20:27:59

Hi,

schau mal hier.
Posted by: root

Re: Frage: Knuddel auf KnuddelAccount einzahlen - 22.05.2023, 07:12:12

In der API Doc findest du den Listener onAccountReceivedKnuddel, der aufgerufen wird, wenn ein Knuddel Account Knuddel erhält. Dieser Knuddel Account ist zwischen User und Bot zwischengeschaltet. Sobald du diese Methode implementiert hast, werden die Knuddel nicht mehr direkt an den Bot übertragen. Um vom Bot Knuddel an einen Knuddel Account zu übertragen, benötigst du eine Knuddel Account-Instanz eines spezifischen Users, die du via getKnuddelAccount bekommst (Methode muss auf die Instanz des Users angewandt werden). Sobald du die Instanz des Knuddel Accounts eines bestimmten Nutzers hast, kannst du an diesen Knuddel übertragen. Dazu schaust du wieder in die API Doc zum Thema transferKnuddel. Zu beachten ist dabei, dass du als erstes Argument nicht die Instanz der Klasse User übergibst (also den bestimmten Nutzer), sondern dessen Knuddel Account.

In der API Doc sind also alle direkten Methoden enthalten. Per Default werden die Knuddel direkt an den Bot transferiert, weil die Listener-Methode onAccountReceivedKnuddel nicht implementiert wurde.
Posted by: dotenv

Re: Frage: Knuddel auf KnuddelAccount einzahlen - 25.05.2023, 22:01:10

Antwort auf: root
In der API Doc findest du den Listener onAccountReceivedKnuddel, der aufgerufen wird, wenn ein Knuddel Account Knuddel erhält. Dieser Knuddel Account ist zwischen User und Bot zwischengeschaltet. Sobald du diese Methode implementiert hast, werden die Knuddel nicht mehr direkt an den Bot übertragen. Um vom Bot Knuddel an einen Knuddel Account zu übertragen, benötigst du eine Knuddel Account-Instanz eines spezifischen Users, die du via getKnuddelAccount bekommst (Methode muss auf die Instanz des Users angewandt werden). Sobald du die Instanz des Knuddel Accounts eines bestimmten Nutzers hast, kannst du an diesen Knuddel übertragen. Dazu schaust du wieder in die API Doc zum Thema transferKnuddel. Zu beachten ist dabei, dass du als erstes Argument nicht die Instanz der Klasse User übergibst (also den bestimmten Nutzer), sondern dessen Knuddel Account.

In der API Doc sind also alle direkten Methoden enthalten. Per Default werden die Knuddel direkt an den Bot transferiert, weil die Listener-Methode onAccountReceivedKnuddel nicht implementiert wurde.


Hallo root,

vielen Dank für die Erläuterung! Ich konnte es erfolgreich umsetzen.

Gruß
Posted by: Böser Agent <3

Re: Frage: Knuddel auf KnuddelAccount einzahlen - 09.06.2023, 20:20:23

this.onAccountReceivedKnuddel = function(sender, receiver, knuddelAmount, transferReason, knuddelAccount){};
funktioniert bei mir problemlos ^^