Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Issue] HTTP 500 sur le webhook lors de la migration d'un group en supergroup #41

Open
fredericull opened this issue Sep 17, 2023 · 0 comments

Comments

@fredericull
Copy link

Lorsqu'un Bot est ajouté à un groupe, qu'il n'est pas encore enregistré comme contact et que ce groupe passe en super-groupe les messages reçu sur le webhook provoque un HTTP 500 bloquant alors l'envoie tous les messages suivant par l'api telegram au bot.

Log http.error :

0492|[Sun Sep 17 15:56:46.186254 2023] [php7:error] [pid 1948] [client 91.108.6.50:0] PHP Fatal error:  Uncaught Error: Call to a member function execCmd() on bool in /var/www/html/plugins/telegram/core/api/jeeTelegram.php:153
0493|Stack trace:
0494|#0 {main}
0495|thrown in /var/www/html/plugins/telegram/core/api/jeeTelegram.php on line 153

Log telegram :

0008|[2023-09-17 15:56:46]DEBUG : {"update_id":500000094, "message":{"message_id":1,"from":{"id":1000000024,"is_bot":true,"first_name":"Group","username":"GroupAnonymousBot"},"sender_chat":{"id":-1001900000015,"title":"XXX Jeedom YYYY","type":"supergroup"},"chat":{"id":-1001900000015,"title":"XXX Jeedom YYYY","type":"supergroup"},"date":1600000081,"migrate_from_chat_id":-4000000097}}
0009|[2023-09-17 15:56:46]DEBUG : Recu message de XXX Jeedom YYYY

Dans ce cas, sur la ligne 153 on a un $cmd_user == false car à la ligne 53 le contact n'existe pas encore.
A la ligne 69, le contact n'est pas créé, car il n'y a pas de valeur pour message/text et donc $cmd_user reste à false.

En correction rapide de mon côté, j'ai modifier la ligne 147 qui passe de :

} else if (!$eqLogic->getConfiguration('noreply', 0) || $interactAnswer == 1) {

à

} else if (is_object($cmd_user) && (!$eqLogic->getConfiguration('noreply', 0) || $interactAnswer == 1)) {

Je vous laisse appliquer le bon correctif pour au minimum éviter le HTTP 500 qui bloque toutes les intéraction entre telegram et le bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant