iisgiua / giuaschool

giua@school - Il Registro Elettronico open source dell' I.I.S. Michele Giua
https://iisgiua.github.io/giuaschool-docs/
GNU Affero General Public License v3.0
30 stars 18 forks source link

Configurazione telegram #477

Closed Lucaccc closed 1 year ago

Lucaccc commented 1 year ago

Buongiorno, sto provando ad abilitare la gestione notifiche tramite telegram, ma appare questo errore:

Errore nella configurazione Telegram. [Client error: POST https://api.telegram.org/botOMESSO/setWebhook resulted in a 400 Bad Request response: {"ok":false,"error_code":400,"description":"Bad Request: bad webhook: An HTTPS URL must be provided for webhook"} ]

A cosa è dovuto?

trinko commented 1 year ago

Sembra che non sia stata fatta la configurazione lato amministratore (impostazione del bot). Procedi in questo modo:

Se c'è quacosa di poco chiaro, chiedi pure.

trinko commented 1 year ago

Riguardando l'errore che hai postato mi sono accorto che il problema principale è che stai usando un sito per il registro con HTTP e non HTTPS. Questo non è permesso da Telegram.

Attiva l'HTTPS del sito del registro, se usi altervista è gratuito.

Lucaccc commented 1 year ago

Riguardando l'errore che hai postato mi sono accorto che il problema principale è che stai usando un sito per il registro con HTTP e non HTTPS. Questo non è permesso da Telegram.

Attiva l'HTTPS del sito del registro, se usi altervista è gratuito.

Sto già utilizzando HTTPS... HTTPS

Ho un dubbio: il bot telegram va semplicemente creato con Fatherbot oppure poi devo configurare dei comandi all'interno di questo? Perchè altrimenti non capisco cosa non funziona, visto che continua a darmi lo stesso errore..

Lucaccc commented 1 year ago

Un'altra domanda...visto che il registro non mi invia automaticamente le notifiche, ho provato con cronjob, ma mi da questo errore:

URL VISITATO http://miosito.altervista.org/command/notify/token/600 STATO 302 Found

E dice che la procedura è fallita...come mai?

trinko commented 1 year ago

Un'altra domanda...visto che il registro non mi invia automaticamente le notifiche, ho provato con cronjob, ma mi da questo errore:

URL VISITATO http://miosito.altervista.org/command/notify/token/600 STATO 302 Found

E dice che la procedura è fallita...come mai?

L'indirizzo nel tuo caso dovrebbe essere probabilmente: https://miosito.altervista.org/public/command/notify/token/600

E naturalmente al posto di token il codice inserito nell'apposito parametro con _comandotoken.

trinko commented 1 year ago

Ho un dubbio: il bot telegram va semplicemente creato con Fatherbot oppure poi devo configurare dei comandi all'interno di questo? Perchè altrimenti non capisco cosa non funziona, visto che continua a darmi lo stesso errore..

Si è sufficiente crearlo con un nome e memorizzare il token che viene creato. Puoi abbellire il bot con le immagini del logo e la descrizione, per rendere più chiaro il suo utilizzo agli utenti, ma non è indispensabile.

Per quanto riguarda l'errore, è strano perché dice proprio che non viene fornita un indirizzo HTTPS. Non è che, pur essendo attivo l'HTTPS, quando hai usato la pagina di configurazione Telegram stavi usando l'HTTP? Questo spiegherebbe l'errore: l'indirizzo è creato a partire dall'indirizzo della pagina corrente.

Lucaccc commented 1 year ago

Ho un dubbio: il bot telegram va semplicemente creato con Fatherbot oppure poi devo configurare dei comandi all'interno di questo? Perchè altrimenti non capisco cosa non funziona, visto che continua a darmi lo stesso errore..

Si è sufficiente crearlo con un nome e memorizzare il token che viene creato. Puoi abbellire il bot con le immagini del logo e la descrizione, per rendere più chiaro il suo utilizzo agli utenti, ma non è indispensabile.

Per quanto riguarda l'errore, è strano perché dice proprio che non viene fornita un indirizzo HTTPS. Non è che, pur essendo attivo l'HTTPS, quando hai usato la pagina di configurazione Telegram stavi usando l'HTTP? Questo spiegherebbe l'errore: l'indirizzo è creato a partire dall'indirizzo della pagina corrente.

In effetti credo sia così...ma come faccio a modificarlo se su altervista mi dice che è già attivo?

trinko commented 1 year ago

Per quanto riguarda l'errore, è strano perché dice proprio che non viene fornita un indirizzo HTTPS. Non è che, pur essendo attivo l'HTTPS, quando hai usato la pagina di configurazione Telegram stavi usando l'HTTP? Questo spiegherebbe l'errore: l'indirizzo è creato a partire dall'indirizzo della pagina corrente.

In effetti credo sia così...ma come faccio a modificarlo se su altervista mi dice che è già attivo?

Se modifichi l'indirizzo della pagina usando HTTPS al posto di HTTP e la ricarichi dovrebbe funzionare.

Se invece vuoi che automaticamente ogni pagina HTTP sia reindirizzata su HTTPS è necessario modificare il file .htaccess che trovi nella cartella public , aggiungendo alla fine:

# Redirect to HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Lucaccc commented 1 year ago

Redirect to HTTPS

RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ho modificato l'indirizzo con HTTPS ma continua a darmi lo stesso errore..

trinko commented 1 year ago

Si, ho visto che viene sempre genarata una URL HTTP per la registrazione su Telegram. Vedo di risolvere il problema.

trinko commented 1 year ago

Per risolvere il problema, estrai il file seguente e sovrascrivi quello esistente nella cartella src/Util

TelegramManager.php.zip

Lucaccc commented 1 year ago

Per risolvere il problema, estrai il file seguente e sovrascrivi quello esistente nella cartella src/Util

TelegramManager.php.zip

Ora funziona correttamente. Grazie mille.