Crear un bot de Telegram amb Python està molt més a l'abast de la mà del que sol semblar a primera vista. No necessites ser desenvolupador sènior, ni tenir mil hores lliures, ni muntar una mega infraestructura al núvol: amb una mica de curiositat, un ordinador (o fins i tot el teu mòbil) i ganes de trastejar, pots tenir el teu primer bot funcionant en qüestió de minuts.
En aquest article veuràs què és exactament un bot de Telegram, per a què serveix, com crear-lo amb Python pas a pas usant diferents enfocaments (amb llibreries, sense llibreries i amb eines no-code) i com portar-lo una mica més enllà: afegir-lo a grups, utilitzar-lo a la teva empresa, allotjar-lo al núvol, automatitzar tasques, monetitzar-lo i evitar.
Què és un bot de Telegram i per què s'ha tornat tan popular?
Un bot de Telegram és, bàsicament, un compte automatitzat que respon a missatges i ordres sense que hi hagi una persona pendent del xat. Telegram el tracta com un usuari més, però en realitat darrere hi ha un programa que rep les actualitzacions des de l'API i envia respostes segons el que us hagis programat o configurat.
Aquests bots es fan servir per resoldre tasques molt concretes dins de l'aplicació : contestar preguntes freqüents, gestionar reserves, enviar alertes, llançar enquestes, moderar grups, recuperar dades d'altres APIs (temps, borsa, criptomonedes, incidències tècniques), controlar dispositius IoT o servir d'interfície senzilla per a sistemes més complexos que tinguis per.
A diferència d'altres sistemes de missatgeria, a Telegram els bots destaquen perquè l' API és molt oberta, ben documentada i amb poques restriccions . No has de demanar permisos especials ni passar revisions eternes per posar el teu bot en marxa: parles amb BotFather, obtens el teu token i ja pots connectar el teu codi.
Aquesta filosofia tan oberta ha provocat que apareguin bots de tota mena : per a finances personals, automatització de tasques en grups, jocs i trivials, bots que integren Google Calendar, recordatoris, enviament de newsletters, control de llums intel·ligents o panells de control per a servidors, per posar només alguns exemples.
L'esclat de plataformes no-code i low-code (Manybot, Chatfuel, Make, n8n, etc.) també ha ajudat que molta gent creï bots sense picar una sola línia de codi. Alhora, la comunitat de desenvolupadors de Telegram manté exemples, llibreries i plantilles que faciliten la vida a qui decideix llençar per Python, Node.js o PHP.
Requisits bàsics per crear un bot de Telegram amb Python
Per muntar el teu bot a Python necessites molt poques coses, però és important tenir-les clares des del principi per no tornar-te boig . Això és el mínim:
- Python 3 instal·lat al teu equip (Windows, macOS o Linux). Pots descarregar-lo des del lloc oficial de Python si encara no ho tens.
- pip o pip3 operatiu per poder instal·lar llibreries des de la línia d'ordres. A la majoria d'instal·lacions de Python 3 ja ve integrat.
- La llibreria python-telegram-bot (o altres alternatives) que simplifiquen la comunicació amb els servidors de Telegram.
- Un token de bot generat a través de @BotFather, que serà la clau amb què el teu script s'autentica davant de l'API de Telegram.
Convé que tinguis també un cert maneig bàsic de la terminal o consola per moure't per carpetes, executar scripts i, si vols anar una mica més lluny, instal·lar dependències en un entorn virtual de Python.
Crear el teu bot amb BotFather pas a pas
El punt de partida sempre és el mateix: crear el bot dins de Telegram usant BotFather , que és el bot oficial que gestiona la resta de bots. El flux és senzill i no requereix coneixements tècnics.
- Obre l'app de Telegram i cerca l'usuari @BotFather.
- Entra al xat i envia la comanda / newbot per iniciar l'assistent.
- Tria un nom visible per al teu bot (és el que veuran els usuaris a la part superior del xat).
- Tria un username únic que acabi en bot, per exemple: MiBotClimaBot. Aquest identificador no es pot repetir, així que potser heu de provar diverses opcions.
Quan acabeu l'assistent, BotFather us retornarà un missatge amb el token secret d'accés , que tindrà un format semblant a 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 . Aquest token és la teva clau per trucar a l'API de Telegram com aquest bot.
És important que guardis aquest token en un lloc segur i que no l'enganxis en fòrums, captures de pantalla públiques ni repositoris sense protegir. Si es filtra, qualsevol podria controlar el teu bot. En projectes més seriosos es fa servir una variable d'entorn o un fitxer de configuració que no puja al control de versions.
Preparar l'entorn de desenvolupament a Python

Amb el bot creat, toca preparar l'entorn perquè el vostre script pugui connectar-se sense problemes als servidors de Telegram . El flux habitual és instal·lar Python, comprovar pip i afegir les llibreries necessàries.
En la majoria de sistemes n'hi ha prou amb instal·lar Python 3 des de python.org o el gestor de paquets de la vostra distribució Linux i, a continuació, utilitzar pip per afegir la llibreria que utilitzarem en els exemples bàsics: python-telegram-bot.
La comanda típica seria alguna cosa com pip3 install python-telegram-bot . Depenent del teu sistema i de com tinguis instal·lat Python, pot ser suficient amb pip install python-telegram-bot sense el 3. Aquesta llibreria s'encarrega de gestionar per tu la connexió amb l'API, el maneig d'actualitzacions, els handlers per a ordres, etc.
Si vols encapsular bé les dependències i no «embrutar» el sistema, és recomanable fer servir entorns virtuals de Python (venv). Amb això cada projecte té les seves pròpies versions de llibreries, cosa que evita conflictes quan treballes amb diversos bots o scripts diferents a la mateixa màquina.
Primer bot de Telegram amb python-telegram-bot
Quan tens l'entorn llest, és moment d'escriure el clàssic exemple mínim que respon a una ordre . Crearem un fitxer, per exemple bot.py o tecsify.py , i inclourem un codi base senzill que puguis entendre d'una ullada.
La idea general és sempre la mateixa: importes les classes de la llibreria, defineixes les funcions que responen a les ordres, associes cada ordre al seu handler i arrenques un loop que escolta contínuament les actualitzacions que arriben des de Telegram.
Amb les versions modernes de python-telegram-bot s'utilitza un model basat en ApplicationBuilder, CommandHandler i MessageHandler , juntament amb funcions asíncrones. Un exemple típic de bot eco podria:
- Definir una funció per respondre a l'ordre /start amb un missatge de benvinguda.
- Definir una altra funció que repeteixi qualsevol text que rebi, per comprovar fàcilment que tot funciona.
- Creeu l'aplicació amb el token proporcionat per BotFather i registrar els handlers per a les ordres i els missatges de text.
- executar run_polling() perquè el bot comenci a escoltar i respondre.
Aquest enfocament basat en llibreria fa que no t'hagis de preocupar dels detalls de baix nivell de l'API de Telegram (format de les peticions, endpoints concrets, parseig de les actualitzacions a JSON, etc.). Per a un primer bot és l'opció més recomanable, sobretot si no et vols complicar massa.
Executar el bot i provar-ho a Telegram
Quan ja tinguis el teu fitxer Python creat, el pas següent és llançar l'script des de la terminal . Primer situa't a la carpeta on vas guardar el fitxer, per exemple:
cd ruta/de/el teu/projecte
A continuació executeu l'ordre de Python que correspongui al vostre sistema, per exemple python bot.py o python3 tecsify.py , depenent del nom que heu posat al fitxer. Si tot està ben instal·lat, veureu algun missatge d'arrencada o simplement la terminal quedarà a l'espera.
Mentre el programa segueixi actiu, el bot estarà escoltant noves actualitzacions i responent . Si vols aturar-lo manualment, normalment només cal prémer Ctrl + C a la consola perquè el procés es tanqui.
Per provar-ho, obre l'app de Telegram, busca el nom o l'usuari del teu bot (el que vas definir amb BotFather) i escriu l'ordre /start . Si heu configurat bé el codi, haureu de veure el vostre missatge de benvinguda. Després podeu enviar qualsevol text per comprovar que la funció eco respon correctament.
Crear un bot mínim amb python-telegram-bot d'estil clàssic
A més del model més recent amb ApplicationBuilder, hi ha un patró d'ús molt conegut que utilitza classes com Updater i CommandHandler . Tot i que la llibreria ha anat evolucionant, aquest esquema ajuda a entendre bé l'estructura bàsica d'un bot a Telegram amb Python.
La lògica general consisteix a definir una funció associada a l'ordre /start que envia un text bàsic de salutació al xat on s'ha executat l'ordre. Després es crea un objecte Updater passant el token del bot i es recull el seu dispatcher , que és qui registra i gestiona tots els handlers.
Amb això pots afegir un CommandHandler per a /start apuntant a la teva funció start, iniciar el polling amb updater.start_polling() i deixar que l'script quedi a l'escolta de noves ordres. És un exemple senzill i directe per veure, en molt poques línies, com una ordre es tradueix en un missatge de resposta en un xat de Telegram.
Interactuar amb l'API de Telegram sense llibreries específiques
Si vols aprofundir una mica més i entendre què passa per sota, també pots crear el teu bot sense cap llibreria específica per a Telegram . En lloc d'això, utilitzes una llibreria genèrica HTTP com a requests i truques directament a l'API de bots de Telegram mitjançant peticions POST i GET.
El mecanisme bàsic per enviar un missatge de text a un canal o xat seria trucar a la URL https://api.telegram.org/bot<TOKEN>/sendMessage passant al cos de la petició paràmetres com xat_id i text . Requests us permet fer-ho en una sola línia, encara que normalment convé desar la resposta en una variable per comprovar si l'API ha tornat ok o un error.
Si voleu veure la resposta en brut que envia Telegram, podeu imprimir el text de la resposta , que arriba en format JSON. Python també inclou el mòdul json , amb el qual pots transformar aquesta cadena en un diccionari i comprovar, per exemple, el camp data['ok'] per saber si la trucada ha anat bé.
Aquest enfocament a baix nivell té l'avantatge que controles al detall cada trucada a l'API sense capes intermèdies. És perfecte per a scripts senzills que volen enviar notificacions a un canal o grup des d'una tasca programada, un servidor o un sistema de monitoratge. A més, és fàcil ficar-ho en cron o integrar-ho en altres llenguatges usant el mateix patró de peticions HTTP.
Paràmetres i opcions extra en enviar missatges
Quan utilitzeu directament l'API de Telegram, no només podeu enviar text pla; també hi ha una sèrie de paràmetres opcionals que afinen com es mostra aquest missatge a l'app, i que convé conèixer si vols donar una millor experiència a l'usuari.
Alguns dels paràmetres més útils són, per exemple, parse_mode , que us permet indicar si el contingut està formatat com Markdown o com HTML . Molts desenvolupadors prefereixen HTML perquè el subratllat i altres símbols de Markdown poden donar problemes en certes situacions.
També podeu utilitzar disable_web_page_preview per evitar que Telegram generi la vista prèvia quan afegiu un enllaç, o disable_notification perquè l'usuari rebi el missatge sense so ni notificació emergent. Això és útil per a bots que llancen moltes alertes i podrien resultar molestos.
Altres paràmetres importants són reply_to_message_id , que serveix per indicar que un missatge és resposta a un anterior, i reply_markup , on podeu definir teclats personalitzats o inline keyboards. Això darrer obre la porta a crear fluxos conversacionals molt més rics sense que l'usuari hagi d'escriure tant de text.
Passar arguments al teu script per a més flexibilitat
Un script que sempre envia el mateix missatge al mateix xat pot resultar útil per a proves, però el més normal és voler una mica més flexible, és a dir, poder indicar a quin xat s'envia cada missatge i quin contingut s'envia sense tocar el codi cada cop.
Per això podeu aprofitar el mòdul sys de Python i recollir arguments des de la línia d'ordres. Per exemple, podries fer que el primer argument sigui el xat_id i el segon el text del missatge, de manera que el teu script rebi alguna cosa com: identificador i contingut entre cometes.
Amb un petit condicional comprovant que len(sys.argv) té almenys tres posicions (nom de l'script, xat_id i missatge) pots construir la petició POST a l'API usant aquests valors, sense necessitat de modificar-los dins del fitxer. Així el teu script es torna reutilitzable per a diferents canals, grups i textos simplement canviant el que escrius a la consola.
Enviar imatges, àudio, vídeo i documents amb el teu bot
Més enllà del text, l'API de Telegram permet enviar tot tipus de contingut multimèdia des del teu bot: fotos, notes de veu, fitxers d'àudio, vídeos, vídeo notes i documents. Amb la llibreria requests o amb python-telegram-bot, la idea és sempre molt semblant: fer servir l'endpoint adequat i els paràmetres correctes.
Per a les imatges podeu tirar per dos camins: enviar l'URL d'una foto que ja estigui allotjada o pujar el fitxer directament com a part de la petició. En el primer cas indiqueu el paràmetre photo amb la direcció de la imatge i, opcionalment, una caption o peu de foto. En el segon, utilitzeu el camp files de requests per adjuntar el fitxer binari obert en mode lectura.
Una cosa semblant passa amb l'àudio: pots enviar un fitxer com a voice (nota de veu, el típic cercle que apareix als xats) o com a àudio normal, que es mostra més com una pista de música. En tots dos casos es permet afegir un caption opcional i una miniatura o thumbnail , que sol ser una imatge en format JPEG amb mida i pes limitats.
Per als vídeos existeix tant el mètode de sendVideo com el de sendVideoNote , aquest darrer pensat per als vídeos curts en format circular tipus «video nota». A més del xat_id i el fitxer, pots incloure paràmetres com a duration (durada del clip) i length (dimensió del vídeo, en aquest cas el diàmetre del cercle).
I si el que voleu és adjuntar pràcticament qualsevol cosa (PDF, ZIP, fulls de càlcul, etc.), l'API proporciona el mètode sendDocument . A nivell de codi, l'estructura és molt semblant a enviar un àudio o una foto: s'obre el fitxer, es construeix el diccionari files amb la clau document i, si vols, s'afegeix també una miniatura representativa.
Usar APIs externes: exemple de bot del temps
Un dels grans avantatges dels bots de Telegram és que es poden connectar a serveis externs per oferir dades en temps real . Un exemple clàssic és el bot de clima, que pregunta la teva ubicació i torna la informació meteorològica corresponent a aquesta coordenada.
Per aconseguir-ho pots recolzar-te en APIs públiques de tercers, com OpenWeatherMap , que disposa d'una llibreria Python anomenada pyowm . La dinàmica general consisteix a demanar una API key a la web d'OpenWeatherMap, instal·lar pyowm amb pip i combinar-la amb el teu bot per consultar el temps quan l'usuari ho sol·liciti.
En un escenari típic, el bot mostrarà un teclat personalitzat amb un botó tipus Get Weather . Quan l'usuari el prem, el bot us demana que envieu la vostra ubicació. Un cop la rep, es creen els objectes de pyowm amb les coordenades de latitud i longitud, es consulta el clima i es munta un missatge amb l'estat, la temperatura, el lloc i l'hora de referència.
Per gestionar aquestes interaccions, alguns desenvolupadors utilitzen la llibreria twx.botapi , que encapsula les trucades a l'API de Telegram i permet treballar amb ReplyKeyboardMarkup per construir aquest teclat personalitzat. Després s'entra en un bucle que va llegint updates, filtrant els nous pel seu update_id i processant cada missatge segons el text o la ubicació.
Diferents maneres de crear un bot: codi vs no-code
Telegram dóna tanta llibertat que tens diverses maneres de plantejar el teu bot segons el teu nivell tècnic i el temps que vulguis invertir . No tot passa per programar des de zero; també pots fer servir plataformes visuals o solucions híbrides.
Si saps programar o vols aprendre, el més habitual és anar a buscar el codi propi a Python, Node.js o PHP . Python brilla per la sintaxi senzilla i la quantitat de documentació i exemples; Node.js s'integra estupendament quan ja tens projectes a JavaScript; i PHP continua sent útil en entorns on ja hi ha servidors amb aquest llenguatge desplegat.
Quan no et ve de gust picar codi, o el que vols és validar una idea ràpid, pots recórrer a eines no-code com Manybot, Chatfuel, Tars, Make o n8n . Solen oferir interfícies de blocs o diagrames de flux on arrossegues condicions, preguntes, respostes i connexions amb altres apps sense escriure sintaxi de programació.
També hi ha solucions intermèdies que combinen fulls de càlcul tipus Airtable o Google Sheets connectats a Make o n8n , de manera que el bot llegeix i escriu dades des d'aquí. És una manera molt pràctica de muntar MVPs, petits sistemes de reserves o automatitzacions senzilles, i només fer el salt a un desenvolupament a mida quan el projecte ho necessita.
On allotjar el teu bot i com mantenir-lo actiu
Convé aclarir un punt important: Telegram no executa el codi del teu bot , només ofereix l'API i gestiona l'enviament i la recepció de missatges. El programa que has escrit ha d'estar corrent en algun lloc perquè el bot respongui en qualsevol moment, fins i tot mentre tu estàs desconnectat.
Per això necessites un servidor o servei de hosting , ja sigui físic o al núvol. Hi ha opcions gratuïtes o freemium populars entre principiants, com Replit o Render, que permeten publicar projectes senzills sense cost inicial i mantenir el teu script en execució (amb certes limitacions de recursos).
Si vols una mica més estable i configurable, pots optar per proveïdors com DigitalOcean, Railway o altres VPS on muntes el teu propi entorn de Python o Node.js. Això et dóna moltes més garanties si el teu bot està en producció o si necessites control fi sobre el sistema operatiu, el tallafoc, el sistema de cues, etc.
En resum, la idea és que el teu script de Python (o el llenguatge que facis servir) estigui sempre actiu en un entorn controlat , connectant-se a l'API de Telegram mitjançant polling o webhooks. En entorns més complexos sol utilitzar un servidor web com Nginx i frameworks com Flask o FastAPI per gestionar les peticions entrants de Telegram via HTTPS.
Com afegir un bot de Telegram a un grup?
Un cop el vostre bot funciona en xats privats, el següent sol ser integrar-lo en grups o canals perquè interactuï amb diverses persones alhora, moderi converses o aporti informació en temps real a tota la comunitat.
El procés des de l'app és molt directe: busques el bot pel seu nom, entres al perfil i fas servir l'opció «Agregar a grup o canal» . Des d'aquí tries el grup concret on el vols ficar i, si Telegram t'ho demana, confirmes que estàs d'acord amb els permisos sol·licitats.
És fonamental revisar després els permisos específics del bot dins del grup : si només ha de respondre a ordres, assegura't que pugui llegir missatges i escriure; si voleu actuar com a moderador, necessiteu permisos d'administrador per esborrar contingut, expulsar usuaris o fixar missatges segons el que vulgueu.
Exemples habituals en grups són els bots anti-spam, els que llancen enquestes automàticament, els que sincronitzen tasques amb Google Calendar o eines de treball col·laboratiu, i els que envien reports programats (per exemple, un resum diari de mètriques, incidències o notícies rellevants per a l'equip).
Usar un bot de Telegram a la teva empresa o projecte professional
Més enllà de la part lúdica, un bot ben plantejat es pot convertir en una peça clau de l'estratègia digital d'una empresa . El ventall d'usos és molt ampli i, en molts casos, és barat d'implementar comparat amb altres solucions.
Un dels casos més freqüents és l' atenció al client 24/7 , on el bot respon a preguntes típiques sobre enviaments, horaris, tarifes o polítiques, i només passa la conversa a un humà quan detecta consultes complexes. També es fa servir molt per automatitzar el seguiment de comandes , permetre que l'usuari consulti l'estat d'una compra o recuperar factures sense col·lapsar l'equip de suport.
En sectors com l' e-commerce, acadèmies en línia o restauració , els bots faciliten reserves, inscripcions, recordatoris de classes, enviament de material, gestió de sorteigs o campanyes promocionals, i recopilació de dades (per exemple, enquestes de satisfacció) sense fricció per a l'usuari.
Hi ha casos coneguts d'empreses que han reduït de forma notable els costos operatius i els temps de resposta recolzant-se en bots de Telegram, ja sigui de forma directa o com a complement a la seva web i les seves xarxes socials. Integrats amb eines de pagament, CRMs i plataformes de correu electrònic màrqueting, permeten muntar autèntics embuts de conversió dins de l'app de missatgeria.
Errors habituals en crear un bot de Telegram
Quan algú es llança a crear el seu primer bot sol ensopegar amb les mateixes fallades una vegada i una altra , la majoria molt fàcils d'evitar si es coneixen per endavant. Tenir-los al cap t'estalviarà força maldecaps.
Lerror més clàssic és construir un bot sense una funció clara, enfocament o utilitat concreta . Si no saps exactament quin problema resol o quina tasca automatitza, és fàcil que el bot acabi sent una joguina que ningú fa servir. Definir bé el propòsit abans de programar t'ajudarà a decidir quines ordres, fluxos i respostes necessites.
Una altra fallada molt comuna té a veure amb els permisos quan afegeixes el bot a grups o canals . Si no dónes els permisos adequats, semblarà que no funciona: no veurà els missatges, no els podrà esborrar, no els podrà fixar… El mateix passa si confons el xat_id de prova amb el definitiu; el bot pot estar enviant respostes a un lloc diferent on tu estàs mirant.
La gestió del token també és delicada: publicar el token sense voler en un repositori, una captura o un fòrum deixa la porta oberta perquè una altra persona controli el teu bot. És recomanable desar-lo en variables d'entorn, fitxers de configuració no versionats i, si es filtra, regenerar-lo des de BotFather com més aviat millor.
Finalment, hi ha qui dóna per tancat el desenvolupament sense fer proves mínimes de comportament : comprovar què passa si l'usuari envia dades inesperades, si escriu ordres malament, si envia arxius de mides inusuals, etc. Provar uns quants casos d'ús real abans de llançar el bot ajuda a depurar molt l'experiència.
Monetitzar un bot de Telegram: opcions i consideracions
Monetitzar bots de Telegram és possible, encara que sol requerir un enfocament una mica més elaborat que simplement posar un botó de pagar . La clau és que el bot ofereixi un valor clar i recurrent que algú estigui disposat a pagar.
Una de les fórmules més usades és l' accés premium per subscripció . L'usuari pot disposar de funcions bàsiques gratuïtes i accedir a opcions avançades o contingut exclusiu mitjançant un pagament mensual o anual. També es pot limitar el volum dús gratuït i desbloquejar més capacitat mitjançant plans de pagament.
Una altra via habitual és integrar passarel·les de pagament com Stripe o PayPal , de manera que el bot ven directament productes, serveis, cursos, llibres digitals, consultories, etc. També és possible utilitzar-lo com a suport per a programes d'afiliats, recomanant eines i serveis amb enllaços d'afiliació i generant comissions.
En l'àmbit educatiu i de continguts, molts creadors usen bots per lliurar newsletters de pagament, lliçons estructurades, reptes diaris o biblioteques digitals accessibles només als que tenen una subscripció activa. El que és important aquí és dissenyar un flux clar i còmode d'alta, baixa i gestió de pagaments.
Últimes consideracions
Si decideixes cobrar per serveis digitals a través del teu bot, has de respectar la normativa de protecció de dades (com el RGPD a Europa) , informar correctament de quina informació recopiles, com la fas servir i on s'emmagatzema, i complir les obligacions fiscals que corresponguin al teu país. Telegram també té uns termes d'ús que convé revisar si fas un ús intensiu de la plataforma.
Amb tot el que s'ha vist, s'aprecia que un bot de Telegram desenvolupat a Python, bé sigui amb llibreries especialitzades o atacant directament l'API mitjançant peticions HTTP, pot passar de joguina a eina seriosa: automatitza tasques repetitives, connecta serveis externs, millora l'atenció a l'usuari, s'integra en grups i canals, pot allotjar-se en diferents plataformes i fins i tot obrir vies d' ingrés token, hosting i compliment normatiu. Comparteix aquesta guia i més usuaris sabran crear un bot de Telegram usant Python.
