Errore durante l'uso di getUpdates nei Bot di Telegram
Telegram Bot: can't use getUpdates method while webhook is active
Lavorando con i Bot di Telegram può essere necessario conoscere in modo esplicito l'id della chat associata al proprio Bot nella quale voler scrivere un messaggio.
Esistono Bot che a sua volta possono fornire questa informazione, tuttavia la via più semplice è quella di digitare nella barra degli indirizzi il seguente URL (TOKEN_ID dovrà essere sostituito con la stringa relativa al proprio token):
https://api.telegram.org/bot[TOKEN_ID]/getUpdates
Può capitare tuttavia di ricevere il seguente errore:
{"ok":false,"error_code":409,"description":"Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"}
In pratica ci viene comunicato che è presente un conflitto e che non è possibile utilizzare il metodo getUpdates mentre il webhook è attivo e di utilizzare deleteWebhook per eliminare prima il webhook.
La soluzione è pertanto indicata nel messaggio di errore stesso, ma come si applica?
Non serve scrivere neanche una riga di codice, è sufficiente digitare nella barra degli indirizzi il seguente URL e premere "Invio":
https://api.telegram.org/bot[TOKEN_ID]/setWebhook?url=
Il risultato di questa esecuzione sarà il seguente:
{"ok":true,"result":true,"description":"Webhook was deleted"}
E provando ora ad eseguire il primo URL indicato, ovvero quello per conoscere i dettagli del Bot e quindi l'id della chat di nostro interesse, il risultato sarà simile al seguente:
{"ok":true,"result":[{"update_id":UPDATE_ID,
"message":{"message_id":MESSAGE_ID,"from":{"id":BOT_ID,"is_bot":false,"first_name":"Michele","last_name":"Pisani","language_code":"it"},"chat":{"id":CHAT_ID,"first_name":"Michele","last_name":"Pisani","type":"private"},"date":1640818928,"text":"test"}}]}
I have same problem although my bot is created now and didn't webhooked
Have you tried the solution described? It worked perfectly for me :)