windkh / node-red-contrib-telegrambot

Telegram bot nodes for node-red.
Other
265 stars 118 forks source link

Register at telegram server stopped working on latest version #203

Closed sefininio closed 3 years ago

sefininio commented 3 years ago

Hi,

I was able to register commands for them to appear in the chat in multi select on previous version. However, after upgrading to the latest, it stopped working and I no longer see the commands menu on the chat.

The nodes are configures like this: image

windkh commented 3 years ago

Hm looks like everything is ok. Can you send me the flow so that I can reproduce it? Did you try to delete the node and then create it from scratch?

sefininio commented 3 years ago

yes I tried to create it from scratch, and reload the nodered instance... I can send you the flow but it is a complicated flow, it will not work OOTB.

sefininio commented 3 years ago

Looking at https://core.telegram.org/bots/api#botcommandscope it seems that there are a few scopes that are missing: BotCommandScopeChat BotCommandScopeChatAdministrators BotCommandScopeChatMember

windkh commented 3 years ago

Yes the ones that require a chat id are not supported right now

windkh commented 3 years ago

Are there capital letters in the command?

windkh commented 3 years ago

Well then send me only the command nodes of your flow

sefininio commented 3 years ago

No capital letters in the commands.

[{"id":"9a078147.425f5","type":"telegram command","z":"54066e2e.7b38a","name":"/what_is_on","command":"/what_is_on","description":"what is currently on","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":170,"y":880,"wires":[["dc2f9578.b97088"]]},{"id":"e19ba920.c61098","type":"telegram command","z":"54066e2e.7b38a","name":"/vacation","command":"/vacation","description":"toggle vacation mode","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":160,"y":940,"wires":[["b31836bb.6106b8"]]},{"id":"fb35d210.b3cc8","type":"telegram command","z":"54066e2e.7b38a","name":"/override","command":"/override","description":"toggle override mode","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":160,"y":1020,"wires":[["5d2a7f57.1c89a"]]},{"id":"8d8b00a0.bbb3c","type":"telegram command","z":"54066e2e.7b38a","name":"/presence","command":"/presence","description":"where in the house is everybody","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":160,"y":1100,"wires":[["31982db6.8d9072"]]},{"id":"e1a840f6.3b105","type":"telegram command","z":"54066e2e.7b38a","name":"/geo","command":"/geo","description":"where in the world is everybody","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":150,"y":1180,"wires":[["3a25df48.2102"]]},{"id":"3857034b.3b1f6c","type":"telegram command","z":"54066e2e.7b38a","name":"/open","command":"/open","description":"what is open","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":150,"y":1240,"wires":[["a3236d3f.c6f71"]]},{"id":"2e126dd4.c40242","type":"telegram command","z":"54066e2e.7b38a","name":"/device_temp","command":"/device_temp","description":"device temp","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":170,"y":1300,"wires":[["8cdd22de.313d"]]},{"id":"135eed26.afec23","type":"telegram command","z":"54066e2e.7b38a","name":"/irrigation","command":"/irrigation","description":"irrigation details","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":160,"y":1380,"wires":[["92059916.476ee8"]]},{"id":"bca462d4.d4b34","type":"telegram command","z":"54066e2e.7b38a","name":"/room","command":"/room","description":"get room state","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":150,"y":1460,"wires":[["95249f3c.1c485"]]},{"id":"18476865.6cc688","type":"telegram command","z":"54066e2e.7b38a","name":".","command":".","description":"","registercommand":false,"language":"","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":150,"y":800,"wires":[["489bab93.58c984"]]},{"id":"1f74e17a90e1cc49","type":"telegram command","z":"54066e2e.7b38a","name":"/toggle","command":"/toggle","description":"toggle what where","registercommand":true,"language":"","scope":"default","bot":"f98ff369.6dfbd","strict":false,"hasresponse":false,"useregex":false,"removeregexcommand":false,"outputs":1,"x":150,"y":740,"wires":[["529838fa.f818a8"]]}]
windkh commented 3 years ago

Ok I reproduced it: Your commands work. However Telegram returns the command list by language which means that the list depends on what language you have set in your client. So in your case you did not choose a language and the default scope. These commands will be displayed if botfather can not find language specific commands. So try to switch the language in your telegram client to some other and check out if the commands are now displayed. However I can not tell you how to delete a language specific command list using botfather.

sefininio commented 3 years ago

Well, I checked, the client language is english. However, changing the command node to specify en as the language does not work.

Note, that adding the commands via the botfather /setcommands works.

windkh commented 3 years ago

Can you switch the CLIENT’s langusge to italian andxtry again?