Bots de conversa de Telegram amb Google Apps Script

Bots de conversa Exemples Dades pràctiques   Recursos CITCEA
Google Apps Script Projectes Interacció   Inici

Paràmetres o comandes a l'inici d'un bot de conversa

Hem vist que per iniciar el bot fem servir la comanda /start. Quan proposem a un usuari que faci servir el bot, probablement li enviarem un enllaç. Quan l'usuari piqui a l'enllaç, se li crearà un xat amb el nostre bot i li apareixerà un botó per iniciar-lo.

Sovint, però, ens interessarà que l'usuari executi alguna comanda concreta. Per exemple, si l'usuari s'està inscrivint a un curs o activitat, a més d'iniciar el bot, segurament volem que executi la comanda per inscriure's (per exemple, /inscri) i potser volem que posi com a paràmetre un element identificatiu de l'activitat a la qual s'està enregistrant.

Telegram ens permet enviar un enllaç que faci la comanda /start i que enviï, juntament amb la comanda, un paràmetre; és el que s'anomena deep linking. Per fer que l'enllaç enviï la comanda /start podem fer:

http://t.me/bot_provaIoT_bot?start

Si aquesta comanda ha de tenir un paràmetre, podem fer:

http://t.me/bot_provaIoT_bot?start=param

Quan piquem a l'enllaç, s'obrirà el xat amb el bot amb el botó per iniciar-lo a la part inferior. En picar el botó, s'enviarà al nostre script la comanda

/start param

que podem tractar (amb la funció split) per separar la comanda del paràmetre.

El paràmetre pot ser un element que el nostre script pugui interpretar i, per tant, pot fer les funcions d'una altra comanda. Per exemple

http://t.me/bot_provaIoT_bot?start=inscri

arribarà a l'script com

/start inscri

i podrem tractar com ens convingui. Aquest segon element (que nosaltres podem interpretar com a comanda) és, de fet, un paràmetre i, per tant, no ha de portar / al davant. Si li posem no ens funcionarà correctament.

Encara ens ho podem fer venir bé per afegir un paràmetre a aquesta segona comanda. Per exemple:

http://t.me/bot_provaIoT_bot?start=inscri-curs1

ens arribarà a l'script com

/start inscri-curs1

quan ho tractem, podem separar per l'espai (split) per tenir la comanda /start a part de la resta. Després podem separar pel guió per obtenir la segona comanda (inscri) i el seu paràmetre (curs1).

 

 

 

 

 

 

 

 

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.