@ruhigundrelaxed:
Lösung gefunden. Trotzdem danke.
on({id: "telegram.0.communicate.request", change: 'any'}, function(obj){
var stateval = getState('telegram.0.communicate.request').val;
var benutzer = stateval.substring(1,stateval.indexOf("]"));
var command = stateval.substring(stateval.indexOf("]")+1,stateval.length);
sendTo('telegram.0', {
user: benutzer,
answerCallbackQuery: {
text: command,
showAlert: false // Optional parameter
}
});
});
Gefunden hier:
viewtopic.php?t=6515 `
Top! Vielen Dank soweit!
Das hat bei mir immer einen Fehler geschmissen wenn der Bot normale Nachrichten bekommen hat :/
Meine Lösung hierfür ist dem callback_data ein "muster" voran zu hängen, welches sozusagen den Button definiert.
Falls jenes "Muster" nun gefunden wird, wird das answerCallbackQuery gesendet.
In meinem Fall habe ich als pattern/muster "key_" genutzt
Der folgende Code bestätigt nun stupide jede Button dessen callback_data mit "key_" beginnt.
Falls eine Nachricht nun mit dem Text "key_" beginnt, wird auch eine Antwort gesendet, und dann kommt der Fehler halt doch noch :geek:
on({id: "telegram.0.communicate.request", change: 'any'}, function(obj){
var stateval = getState('telegram.0.communicate.request').val;
var benutzer = stateval.substring(1,stateval.indexOf("]"));
var command = stateval.substring(stateval.indexOf("]")+1,stateval.length);
var checkval = command.indexOf('key_') + 1;
if (checkval == 1) {
sendTo('telegram.0', {
user: benutzer,
answerCallbackQuery: {
showAlert: false // Optional parameter
}
});
};
});
Geht vielleicht auch cleverer das ganze aber ich bin nun d'accord