NEWS
Telegram keyboard Variable
-
Hallo zusammen,
arbeite mich als Neuling in die Welt von iobrocker ein.
Mit Java stehe ich bis jetzt noch auf Kriegsfuß.
Hoffe deshalb auf mithilfe.
Derzeit probiere ich in einem Javascript das an Telegram die Buttons (Ja/Nein) schickt, den Text der Buttons (Ja/Nein) als Variable zu definieren.
Die Variable würde ich dann über Blockly füllen sofern es sowas wie Public Variable gibt.
Alternativ könnten auch Datenpunkte statt Variable helfen.sendTo('telegram.0', { text: 'Bitte wähle ein Button', reply_markup: { keyboard: [ ['Ja', 'Nein'], ], resize_keyboard: true, one_time_keyboard: true } });Vielen Dank u. Gruß,
-
Hallo zusammen,
arbeite mich als Neuling in die Welt von iobrocker ein.
Mit Java stehe ich bis jetzt noch auf Kriegsfuß.
Hoffe deshalb auf mithilfe.
Derzeit probiere ich in einem Javascript das an Telegram die Buttons (Ja/Nein) schickt, den Text der Buttons (Ja/Nein) als Variable zu definieren.
Die Variable würde ich dann über Blockly füllen sofern es sowas wie Public Variable gibt.
Alternativ könnten auch Datenpunkte statt Variable helfen.sendTo('telegram.0', { text: 'Bitte wähle ein Button', reply_markup: { keyboard: [ ['Ja', 'Nein'], ], resize_keyboard: true, one_time_keyboard: true } });Vielen Dank u. Gruß,
@Ballazonk
Es gibt keine globalen Variablen, aber wie du schon sagst States.// die State werden nicht sofort erzeugt, wird also beim ersten Durchlauf wohl nicht funktionieren. createState('javascript.0.var1'); createState('javascript.0.var2'); sendTo('telegram', { text: 'Bitte wähle ein Button', reply_markup: { keyboard: [ [getState('javascript.0.var1').val, getState('javascript.0.var2').val], ], resize_keyboard: true, one_time_keyboard: true } });und dann noch was zum auslesen der Antwort, ist aber noch nix drin um selbst geschriebenes abzufangen :)
createState('javascript.0.msg'); on({id:'telegram.0.communicate.request',change:"any",ack:false}, function(obj){ var msg = obj.state.val; var user = msg.substring(1,msg.indexOf(']')); msg = msg.substring(msg.indexOf(']')+1,msg.length); console.log(msg); setState('javascript.0.msg',msg); sendTo('telegram', { user: user, answerCallbackQuery: { text: "Pressed!", showAlert: false // Optional parameter } }) }EDIT beachten :)
EDIT2 im ersten Teil fehlt noch der user.