NEWS
Telegram voice calls, thanks to CallMeBot.com
-
Telegram Phone Calls from ioBroker (with Voice Messages)
At least the ioBroker can make a Telegram phone calls (with Voice) too thanks to the CallMeBot API.
You need ioBroker.telegram adapter with version >= 1.5.0 for that.
Everything is you need is to create a blockly or script as following:
Blockly
Just place the block "call via Telegram" as on the picture:
<block xmlns="http://www.w3.org/1999/xhtml" type="on" id="pcI%RNejJ#^wD#ZBKcPV" x="62.800048828125" y="37.399993896484375"> <field name="OID">javascript.0.trigger</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="telegram_call" id="D==]%~cRa3pHO99!P4Qs"> <field name="INSTANCE"></field> <field name="LANGUAGE"></field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="o$5h,J65nfBdfVO.3|fd"> <field name="TEXT">ioBroker is calling you!</field> </shadow> </value> <value name="USERNAME"> <shadow type="text" id="V/Gwj;1y%D@`xq9*#niO"> <field name="TEXT">@Username!</field> </shadow> </value> </block> </statement> </block>
and set the valid text and user name.
Now by change of the state trigger the call via telegram will be done.
Script
To use calls via Telegram in script write following:
sendTo('telegram.0', 'call', 'Some text');
or
sendTo('telegram.0', 'call', { text: 'Some text', user: '@Username', language: 'de-DE-Standard-A' // optional });
Read more here
Mod-Edit: Thema von "Englisch - ioBroker Generel" nach "Deutsch - ioBroker Allgemein" verschoben!
-
Habs gerade probiert.
Funktioniert jedoch nicht.Im log kommt:
host.Asus-Buero 2020-02-04 17:27:42.424 error Caught by controller[1]: at processImmediate (timers.js:658:5) host.Asus-Buero 2020-02-04 17:27:42.424 error Caught by controller[1]: at tryOnImmediate (timers.js:676:5) host.Asus-Buero 2020-02-04 17:27:42.424 error Caught by controller[1]: at runCallback (timers.js:706:11) host.Asus-Buero 2020-02-04 17:27:42.424 error Caught by controller[1]: at Immediate.callUsers (C:\ioBroker\node_modules\iobroker.telegram\main.js:881:28) host.Asus-Buero 2020-02-04 17:27:42.424 error Caught by controller[1]: TypeError: users.shift is not a function telegram.0 2020-02-04 17:27:41.695 info (5964) Terminated (NO_ERROR): Without reason telegram.0 2020-02-04 17:27:41.694 info (5964) terminating telegram.0 2020-02-04 17:27:41.188 error (5964) TypeError: users.shift is not a function at Immediate.callUsers (C:\ioBroker\node_modules\iobroker.telegram\main.js:881:28) at runCallback (timers.js:706:11) at tryOnImmediate (time telegram.0 2020-02-04 17:27:41.187 error (5964) uncaught exception: users.shift is not a function
-
Bei 1.4.3 wird der Name noch angezeigt:
Bei 1.5.0 wird der Name nicht angezeigt.
Und deshalb hat es wohl nicht funktioniert. -
So, nochmal probiert.
1.5.0 speichert den Namen nicht !
Bitte prüfen ! -
@bahnuhr Hast du von npm installiert oder von github?
-
@Bluefox sagte in Telegram voice calls, thanks to CallMeBot.com:
@bahnuhr Hast du von npm installiert oder von github?
So:
Nachtrag:
dann upload (Pfeil nach oben).
und nachricht vom Handy gesendet. Nr. wird gespeichert; Namen nicht.Dann wieder 1.4.3: Namen ist dort in der config ersichtlich.
-
Habe nun mal die Instanz sowie den Adapter gelöscht.
Dann neu wie oben installiert.
Name kommt jetzt:
früher stand bei Name nur: Dieter
jetzt steht da: bahnuhr / DieterFolgende Script (Schnipsel aus meinem telegram Script) klappt weiterhin:
var vUser = "Dieter"; var vText = "/Standort\n" + "/Zusammenfassung"; sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
User Dieter scheint wohl zu funktionieren.
Folgendes neue Script mit call klappt nicht:
sendTo('telegram.0', 'call', { text: 'Dies is ein Test', user: 'Dieter' });
Hab auch schon "bahnuhr" oder "bahnuhr / Dieter" probiert.
Klappt nicht.Lass ich User weg; dann klappt der call.
Allerdings wird der Text in einer Endlosschleife wiederholt !
Soll dies so sein ?mfg
-
So, ich bin mit dem Test durch.
call mit User funktioniert nicht.
call ohne User -> dann wird der 1. User genommen.
-
@bahnuhr hast du in den Einstellungen von Telegram einen Username angegeben am Handy? Und das @ Zeichen gehört dazu zum Username wenn man ihn vergeben hat dann geht es auch.
-
@Brainbug sagte in Telegram voice calls, thanks to CallMeBot.com:
@bahnuhr hast du in den Einstellungen von Telegram einen Username angegeben am Handy? Und das @ Zeichen gehört dazu zum Username wenn man ihn vergeben hat dann geht es auch.
Bei solch einem Befehl:
sendTo('telegram', { user: vUser, text: vText, parse_mode: 'HTML' });
brauch ich kein @Und bei dem call Befehl brauch ich @
Finde ich jetzt komisch aber ich probiers gleich aus.
Und sag mir bitte auch wo ein Username eingegeben wird. In der config von telegram find ich nichts; und vom Handy wird nur Dieter übermittelt, das greif ich mit einem anderen script ab wenn ich z.B. etwas per Handy schreibe.
-
Habe eben folgenden Befehl probiert:
sendTo('telegram.0', 'call', { user: '@Dieter', text: 'Dies ist ein Test' });Klappt nicht (zumindest bei mir so).
-
Geht wunderbar, für die Instanz.2 musste ich einen Username angeben dann ging die auch. Ansonsten kam es immer bei .0 an.
Bei der Einstellung: Username anstatt Vorname.. hatte ich einmal aktiv und dann wieder deaktiviert. Das der Username auch erkannt wird von Telegram. -
@Brainbug sagte in Telegram voice calls, thanks to CallMeBot.com:
Instanz.2 musste ich einen Username angeben
Wo gibts du bitte in der Instanz den Usernamen an.
Habe diesen gerade in der app auf dem Handy gefunden.
Mit dem Usernamen funktioniert der call jetzt bei mir auch.
Trotzdem komisch bei mir:
Text senden mit user = Vorname
call senden mit user = Username die auf dem handy eingegeben wurde.Ich finde dies zumindest komisch.
Aber wenn es bei dir läuft, dann is gut.
Bei mir geht es nicht wie gewünscht.
-
@bahnuhr said in Telegram voice calls, thanks to CallMeBot.com:
Instanz.2 musste ich einen Username angeben
Zuerst am Handy definiert und dann einmal die Einstellung im Adapter aktiviert und deaktiviert.
-
@Brainbug sagte in Telegram voice calls, thanks to CallMeBot.com:
@bahnuhr said in Telegram voice calls, thanks to CallMeBot.com:
Instanz.2 musste ich einen Username angeben
Zuerst am Handy definiert und dann einmal die Einstellung im Adapter aktiviert und deaktiviert.
Das hab ich alles schon gemacht.
Aber wie schon geschrieben. Bei mir steht in der 2. Seite der config nun beides
Username und VornameFrüher stand da nur der Vorname
Und das Häkchen auf der 1. Seite der config ist raus.
-
@bahnuhr ja so hab ich das auch und erst ab da ging bei mir der Call mit dem .2 Adapter.
-
@Brainbug sagte in Telegram voice calls, thanks to CallMeBot.com:
@bahnuhr ja so hab ich das auch und erst ab da ging bei mir der Call mit dem .2 Adapter.
Na gut, dann ist es halt so.
Also:
Text mit Vorname als user
und call mit Benutzername als user
(wenn mans weiß geht es ja).Aber sag mal:
Werden bei dir die Texte dann bei dem call auch ständig wiederholt.Kann man dies abstellen ?
-
Ja anrufen mit @ wie in der Anleitung * duckundwech *
Und ja es wiederholt sich, ich frag mal ob es normal ist.Gerade nach gefragt: eine Option soll kommen mit der man die Wiederholung ausschalten kann. Muss dann nur von @Bluefox eingebaut werden
Wenn der Bot es dann kann.
-
Gut zu wissen.
Dann warten wir noch.Danke für deine Hilfe.
-
Also bei mir hat es nicht direkt funktioniert...ich war aber auch so doof und hatte vergessen das in meinen Privatsphären einstellungen Anrufe blockiert waren...das sollte man also auch beachten.