Bot - öffentliche Nachricht an den User

Posted by: Anonym

Bot - öffentliche Nachricht an den User - 23.01.2017, 08:35:03

Halli Hallo,

also meine Frage lautet wie folgt: :-)
Ich würde gerne Sachen im Chat anklickbar machen. Was genau weiß ich noch nicht.

In meiner, etwas umfunktionierten Gästebuch App hab ich es zum Beispiel schon geschafft die Button anklickbar zu machen und auch mit einem Befehl zu versehen.
Sowas Ähnliches würde ich gerne in den Chat bringen.
Falls mir da jemand helfen könnte, wäre das echt super.

LG Caro
Posted by: IgelchenM

Re: Bot - öffentliche Nachricht an den User - 23.01.2017, 21:06:12

Hallo Surprise77,

wenn ich dich richtig verstanden habe, möchtest du anklickbare Links gestallten. Dazu gibt es im Entwickler-Wiki (Links) einen Eintrag. Wenn es allerdings Buttons sein sollen, müsstest du bitte im Entwickler-Wiki (Buttons) vorbei schauen.

Entweder machst du das ganze dann mit

Code:
KnuddelsServer.getDefaultBotUser().sendPublicMessage('Dein kCode kommt hier rein.'); 


um öffentliche Botnachrichten zu verschicken, oder aber du nutzt

Code:
user.sendPrivateMessage('Dein kCode kommt hier rein.');


Lg IgelchenM
Posted by: Dependencies

Re: Bot - öffentliche Nachricht an den User - 23.01.2017, 22:22:24

Hey,

Das mit den KCode ist ein teil. Du musst aber nichtnur einen "Befehl" senden, sondern ihn auch auffangen.

Wie findest du hier - ChatCommands


kleines beispiel!

Warnung! Spoiler!

Html:
var App = (new function () {

this.onUserJoined = function(user){
   user.sendPrivateMessage('°>Klick mich! Härter! Fester!Doller!|/klickmich<°'); //Link der zu /klickmich führt.
}

this.chatCommands = {
   klickmich: function(user, params, command)  {
        user.sendPrivateMessage('Da hast du mich aber hard geklickt!!');
   }
}
});





Ansonsten habe ich auch ein Video zum Thema chatCommands erstellt.
Youtube - chatCommand
Hoffe dir ist damit etwas weitergeholfen :-)
Posted by: rmpg

Re: Bot - öffentliche Nachricht an den User - 23.01.2017, 22:23:33

Damit es eventuell einleuchtender ist:
Code:
KnuddelsServer.getDefaultBotUser().sendPublicMessage("Klicke °B°°>hier|/kiss James<°°r° um James zu küssen.");

Dieser Code generiert einen Link der mit dem Text hier (in Blau) welcher die Funktion /kiss James ausführt.
Als Button sehe es wie folgt aus:
Code:
KnuddelsServer.getDefaultBotUser().sendPublicMessage("Klicke °>{button}hier||call|/kiss James<° um James zu küssen.");

Ansonsten schau dir die Lionks von IgelchenM an :) die erklören dann die verschiedenen Modi.
Posted by: Anonym

Re: Bot - öffentliche Nachricht an den User - 24.01.2017, 11:59:28

... ganz schön schwerer Stoff, wenn man das so vorher noch nie gemacht hat.

Das mit den anklickbaren Buttons hab ich ja schon rausgefunden und auch so umsetzen können in meiner umgebauten GB App. Jetzt muss ich nur halt versuchen das als "Bot-Message" umzusetzen.

Der Code von Jan hilft mir da aber schon weiter, glaube ich. :-)

@Igelchen : dieses getDefaultBotUser ... spricht doch den "klickenden" User an, oder irre ich mich?

Ich werde versuchen, mir das da zurecht zu fummeln und mir auch nochmal das Video da zu Gemüte führen.

Erstmal lieben Dank für die Tipps.
Posted by: Anonym

Re: Bot - öffentliche Nachricht an den User - 24.01.2017, 12:21:14

ähm ... vergiss die Frage Igelchen, da war ich etwas zu vorschnell, glaub ich. :-)

Posted by: IgelchenM

Re: Bot - öffentliche Nachricht an den User - 24.01.2017, 14:23:16

Ich antworte dir trotzdem Surprise77,

mit KnuddelsServer.getDefaultBotUser() wird der App-Bot angesprochen. Du kannst natürlich auch eine globale Variable mit dem Namen Bot definieren und diesen als Shortcut überall verwenden. Dann musst du nicht überall KnuddelsServer.getDefaultBotUser() schreiben.

Code:
bot = KnuddelsServer.getDefaultBotUser();
bot.sendPublicMessage('Hallo Welt');
bot.sendPrivateMessage('Hallo private Welt');


sendPrivateMessage() funktioniert nur, wenn ein user definiert wurde.

Lg IgelchenM
Posted by: Anonym

Re: Bot - öffentliche Nachricht an den User - 26.01.2017, 11:11:47

Antwort auf: IgelchenM


sendPrivateMessage() funktioniert nur, wenn ein user definiert wurde.

Lg IgelchenM


bspw:
Code:
App.onUserJoined = function(user) {
       user.sendPrivateMessage('Willkommen in meinem Channel, ' + user.getNick());
}