NEWS
[gelöst] Passwort bei Telegram
-
Ich versuche den Telegram Adaptor in Betrieb zu nehmen.
Ich habe dieses Token generieren können und auch in die Konfiguration für den Adpator eingetragen, verstehe aber nicht, wie ich die User Authentication hinbekomme.
Ich habe dem BotFather diese Message
/p <mein passwort="">übermittelt, aber ich bekomme die Rückmeldung, dass er das Kommando nicht kennt.
(die eckigen Klammer sind natürlich nicht drin)
Ich weiß also nicht, wie ich dem BotFather mein User Password mitteilen soll und ohne diese User Authentication scheint keine Übermittlung von Nachrichten möglich zu sein.</mein>
-
Da hab ich auch Probleme gehabt, am Ende ists einfach:
-
Gib das Passwort im Adapter an
-
Starte den Adapter
-
gehe in Telegram und starte einen Chat mit deinem Bot (nicht dem Botfather, sondern deinem angelegten Bot)
-
Da brauchst Du dann das passtwort
Ich hab mal die GitHub-Doku erweitert, weil wir damit zu zweit sind die es nicht kapiert haben
-
-
Das hat geholfen, ich habe in meinem Chat Bot zumindestens die Botschaften "Bot wird neugestartet" und "Gestartet" bekommen.
Aber ich bekomme es immer noch nicht hin, eine Message per Javascript zu senden.
Was ich versucht habe sind:
setState('telegram.0.communicate.response', '@Marty56_bot Test message'); sendTo('telegram.0', {user: 'Marty56_bot', text: 'Test message'}, function (res) { console.log('Sent to ' + res + ' Marty56_bot'); });
-
Zeig mal deinen JS-Code.
Die Infos unter https://github.com/ioBroker/ioBroker.telegram helfen nicht?
-
habe noch meine Code Versuche oben reinkopiert
-
Hm, sagt das Log irgendwas? Ich habe es gerade versucht und das gleiche Problem.
Kannst Du auch mal das hier versuchen:
> You can send message over state too, just set state "telegram.INSTANCE.communicate.response" with value "@userName Test message".
Das geht bei mir.
ich schaue in das Problem oben nachher mal rein
-
Mist … Beispiel ist falsch
oder was anderes kaputt. Versuche das gerade rauszufinden.
Aber
sendTo('telegram.0', 'send', {user: 'Username', text: 'Test message'}, function (res) { console.log('Sent to ' + res + ' users'); });
tut
-
Hm, sagt das Log irgendwas? Ich habe es gerade versucht und das gleiche Problem.
Das log sagt nichts
Kannst Du auch mal das hier versuchen:
> You can send message over state too, just set state "telegram.INSTANCE.communicate.response" with value "@userName Test message".
`Hatte ich ja auch schon versucht.
-
sendTo('telegram.0', 'send', {user: 'Username', text: 'Test message'}, function (res) { console.log('Sent to ' + res + ' users'); });
geht bei mir (entsprechend den User geändert) auch nicht.
Hier wird aber ein Log ausgegeben, das lautet:
"script.js.common.Martin: Sent to 0 Marty56_bot"
-
Was gibts denn als AUsgabe "Send to 0 users"? Das hatte ich.
Die Usernamen und das Mapping holt er sich bei der AUthentication des Users und dann steht das Fest in telegram.0.communicate.users
Passt der Username da zu dem den Du anschreibst?
Also bei mir tut das - als ich den Namen richtig hatte
Ansonsten versuch ml ohne User einfach nur mit Text. Wenn das klappt, dann liegts am Usernamen!
-
Ja, der User Name ist genau der den ich wollte.
Aber der Inhalt nicht. Der ist "0" und sollte "Test message" sein.
Außerdem rührt sich nichts in der App.
-
Wenn ich den User Namen weglasse, geht es.
Der korrekte Code sieht jetzt so aus.
sendTo('telegram.0', 'send', { text: 'Test message'}, function (res) { console.log('Sent to ' + res + ' Marty56_bot'); });
Danke für die tolle und schnelle Unterstützung.
Was auch geht ist
setState('telegram.0.communicate.response', 'Test message');
-
So, grund dafür das das Beispiel nicht tut gefunden. Pull-Request ist bei Bluefox, ist dann mit dem nächsten js-controller-Update gefixt.