PHP Bot Telegram: dialogo con specifico utente del gruppo [PHP]

Stato
Discussione chiusa ad ulteriori risposte.

Δnto

Utente Gold
5 Gennaio 2017
309
32
243
272
In pratica avendo un Bot Telegram con codice in PHP, come è possibile far rispondere il bot ad una precedente risposta di un determinato utente sempre ad una domanda del bot stesso, esempio:
Codice:
   if($message == "Bot copiami")
    {
        sendMessage($chatid, "Lo vuoi veramente?");
    }

Qui se l'utente rispondesse "Si" ad esempio, il bot dovrebbe copiare solo i suoi messaggi del gruppo, finche ovviamente non termina il tutto pronunciando una parola chiave.
E' necessario prendere l'id dell'utente? In generale il bot come fa a sapere se l'utente, che ha dialogato prima con lui, sia sempre lo stesso, e come fa a rispondere solo a lui?
 
In pratica avendo un Bot Telegram con codice in PHP, come è possibile far rispondere il bot ad una precedente risposta di un determinato utente sempre ad una domanda del bot stesso, esempio:
Codice:
   if($message == "Bot copiami")
    {
        sendMessage($chatid, "Lo vuoi veramente?");
    }

Qui se l'utente rispondesse "Si" ad esempio, il bot dovrebbe copiare solo i suoi messaggi del gruppo, finche ovviamente non termina il tutto pronunciando una parola chiave.
E' necessario prendere l'id dell'utente? In generale il bot come fa a sapere se l'utente, che ha dialogato prima con lui, sia sempre lo stesso, e come fa a rispondere solo a lui?

Se ciò che vuoi fare è spedire un messaggio privato, sappi che i bot di Telegram non possono avviare autonomamente una chat con un utente (a meno che egli abbia avviato una chat con il bot in privato).
Altrimenti consulta le API di Telegram che risponderanno alla tua esigenza in maniera esaustiva.
 
  • Mi piace
Reazioni: Δnto e AlessioDP
L'API di Telegram è piuttosto limitata da questo punto di vista,
l'unica soluzione in questo caso è analizzare l'oggetto Message che viene ritornato da un aggiornamento
e controllare che il campo reply_to_message sia pieno e contenga il messaggio "Lo vuoi veramente?"
inviato dallo stesso utente che sta rispondendo "Si".

Altrimenti, se vuoi complicarti la vita, puoi sempre utilizzare una cache per associare all'ID del utente
con cui sta dialogando il bot un codice del tipo "waiting_for_confirmation" e quando l'utente risponderà col "Si"
controllare se questo codice è attivo e quindi agire di conseguenza.
 
  • Mi piace
Reazioni: Δnto
Stato
Discussione chiusa ad ulteriori risposte.