<- Torna indietro

Telegram

Ultima modifica il 01/03/2023

Per come Telegram si sta evolvendo, i canali e i bot, soprattutto assieme, sono ottimi strumenti per farti un nome, per condividere media, e per guadagnarci su.
Ma piuttosto, solo per puro diletto, imparai a creare bot nella forma più comune: IN PHP. A mio parere qualunque sviluppatore, prima di usufruire di un qualsiasi framework, deve prima imparare a fare quella cosa da se.

Sviluppare bot in php è complicato, in primo luogo perchè di base, Telegram manda le "notifiche" al tuo bot tramite una Webhook, ovvero un link, quindi con un dominio, quindi con un DNS che punta ad un WebServer accessibile dal web, obbligatoriamente con un certificato SSL. Il che diventa complicato, poco efficiente, e sconveniente, al contrario di usare Python con framework come Telethon o Pyrogram.

Non ho mai provato Telethon (o come si chiama xD), perchè mi sono innamorato di Pyrogram, mi piace il modo in cui questo framework è strutturato e la facilità con cui l'ho appreso non appena ho iniziato ad utilizzare Python.
E con Python, all'inizio ho sostenuto in parte lo sviluppo di KTSRadio per poi creare un mio bot pubblico chiamato CommentsBoardBot che è OpenSource.
Invece in PHP, da quasi sempre ho avuto lo StivenFocsUtilitiesBot che non ha più alcuna webhook collegata, ma piuttosto, direttamente con il sendMessage, mi manda notifiche varie di transazioni, codici OTP, e notifiche di interazione su alcune delle mie pagine php pubbliche.

Per un periodo utilizzavo e condividevo una base per programmare i bot in php, una base prefatta, che avevo fatto io.
functions.php
functions-readme.md
Voglio subito precisare il fatto che ora lo so: MEGLIO CURL, dato che il file_get_contents è più comodo ma anche più lento ad effettuare le richieste http... Magari se avrò voglia farò un nuovo functions.php, anche se attualmente per ogni bot, riscrivo il codice da capo così da riempirlo soltanto di quello che serve, per non appesantire lo script.

JSON è proprio bello!

Ad un certo punto ho iniziato ad usarlo seriamente e lo ho preferito a XML e YAML. Viene usato nelle REST API, in MongoDB, e per salvare piccole o moderate quantità di dati di media importanza. ovviamente è anche molto usato per salvare delle configurazioni.
Ho sfruttato JSON per strutturare il piccolo database dedicato del bot @ShinobiItaliaOfficialBuild_bot, per cui salvo le configurazioni delle build, degli admin, e statistiche generali sull'utilizzo.
Successivamente, anche Warzone: Caldera ITA ha richiesto il CalderaBuildBot, rendendomi davvero fiero di aver sviluppato questo bel bot, apprezzato da questi gruppi di gioco.

A proposito di MongoDB, voglio iniziare ad usarlo per grandi database ma preservando l'ordine l'organizzazione che riesco sempre ad ottenere usando JSON.
Sembra essere molto comodo e fa proprio al caso mio.