Historial de cambios
Documentación: v0.24.0
Cambios destacados de @leemour/tg-cli, con una sección por versión, de la más reciente a la más antigua. Se utiliza versionado semántico; antes de 1.0.0, la interfaz de comandos todavía puede cambiar.
0.24.0 — 03.10.2026
Cambios que pueden afectar a scripts
--mdusa el formato propio de Telegram para envíos, ediciones y pies de archivos, tanto personales como de bots. Admite estilos combinados, subrayado, spoilers, enlaces, bloques de código y citas.__text__significa subrayado; un solo*text*ahora significa negrita. MAX tiene otra sintaxis. Rechaza combinaciones no válidas y enlaces inseguros antes de escribir.
0.23.0 — 03.10.2026
Cambios que pueden afectar a scripts
-
La búsqueda local usa por defecto un perfil estricto de Lucene: grupos, campos tipados, intervalos de fechas,
--timezone, comodines y expresiones regulares con límites, y cobertura incluso sin resultados. Escribe los prefijos explícitamente comoword*; usa--language legacypara las coincidencias aproximadas anteriores. La guía de búsqueda y la skill explican la migración. El--regexde JavaScript se ejecuta de forma aislada, con límites de tamaño y tiempo. -
tg upgrade --jsonsiempre incluyerestarted, también en comprobaciones y actualizaciones sin cambios. Conserva los campos anteriores y la política de reinicio de servidores administrados. Los scripts que validan las claves exactas deben aceptar una lista vacía cuando no se reinicie ningún servidor.
Novedades
-
tg mcplibera el modelo de búsqueda tras diez minutos sin búsquedas:conversations_searchya no ocupa alrededor de 1 GB de memoria durante toda la sesión del agente. La siguiente búsqueda carga de nuevo el modelo en aproximadamente un segundo. -
tg <bot> bot mey el MCPtg_bot_memuestran identificador, nombre y nombre de usuario del bot. Usa el token, rechaza el modo sin conexión y no envía mensajes. -
La instalación global de npm instala la skill antes de iniciar sesión cuando se permite su script. En Windows guarda la carpeta de comandos de npm en el PATH del usuario y conserva el lanzador
.cmdpara políticas restrictivas de PowerShell. El instalador de Windows también actualiza la terminal actual, instala skills aunque se omitan scripts y compruebatgsin acceder a la cuenta. -
La configuración se encuentra nada más instalar: la ayuda principal y los errores de primer uso indican
tg setup; la ayuda de setup y sesiones incluye ejemplos, instrucciones para agentes y consejos para Windows. Las guías de inicio, instalación, MCP y seguridad explican el primer uso guiado.tg skill showfunciona antes de iniciar sesión y setup lo indica al finalizar. -
tg topics enableactiva temas de foro ytg topics createcrea un tema con nombre. Los grupos básicos requieren--upgrade --yes; cambia su identificador y el resultado devuelve la nueva dirección. CLI y MCP comprueban permisos e informan de resultados parciales si la conversión funciona pero la activación falla. Crear temas usa--send-idpara identificar el intento; rechaza reutilizarlo si ya se envió o el resultado es desconocido. Nunca repitas una creación de resultado desconocido. Los mensajes archivados conservan sus identificadores de chat originales. -
tg messages send --topicytg polls create --topicenvían a un tema de foro. Texto, pies de archivos, respuestas y mensajes programados conservan el tema. Rechaza temas inexistentes o cerrados y respuestas a otro tema antes de enviar. MCP acepta la misma dirección comotopic. -
tg setupguía el primer uso: comprobaciones locales, registro de aplicación automático o en navegador, acceso por QR o teléfono, consulta de cinco chats y skill opcional. Reutiliza sesiones, explica los cinco minutos y deja las descargas de historial como decisión aparte. Windows incluye lanzadores.cmdy una alternativa npm exec si falta PATH. -
tg mcp setup codex|claude-codeytg mcp doctorañaden el servidor local al cliente y comprueban la conexión inicial y las herramientas. Setup requiere--allow-writessi el perfil ofrece escritura; doctor no comprueba el acceso a Telegram. -
tg <bot> bot store fetch <chat>importa mensajes anteriores de canales y supergrupos al archivo local del bot, sin enviar ni marcar como leído. Usa--from <message link>al empezar si no conoces un número de mensaje; las ejecuciones siguientes continúan hacia atrás. Rechaza chats privados y grupos básicos. Consulta la guía de bots.
Correcciones
-
Una lista truncada de
tg runs list --limitsugiere aumentar--limit, en vez de usar la opción inexistente--page. El JSON conservahasMore; leer ejecuciones guardadas no crea otro registro. -
Los fallos tempranos de comandos del bot usan sus ajustes de registro; un subcomando desconocido ya no atribuye el fallo a un perfil válido. El ejecutor compartido aplica estas reglas de forma consistente.
-
Al completar el acceso se acortan correctamente las rutas personales de Windows. Las comprobaciones de documentación reconocen sus separadores de rutas. Los tests de permisos Unix solo se aplican en Unix; en Windows el acceso sigue ACL heredadas, como explica la guía de seguridad.
0.22.0 — 03.10.2026
Novedades
tg messages evidence <chat>ytg_messages_evidencepor MCP preparan un paquete limitado de fuentes del archivo local para un resumen del agente, sin conectar ni marcar como leído. Incluyen localizadores, huellas, cobertura explícita y cursor para páginas anteriores. Los mensajes completos caben en 64 KiB de elementos JSON;--limitacepta 1–100.tg <name> bot contacts show --refreshtiene la misma ayuda quemax, sin nombrar el servicio (cli-messaging 0.109.0).- La documentación de bots está completa (bots): identificadores de chats, archivos y límites, y códigos de salida para scripts.
tg <name> bot contacts show,bot messages searchybot messages betweenconsultan lo guardado en este equipo. Consulta archivo del bot.tg <name> bot chats moderateybot chats rulesrevisan mensajes nuevos según reglas y actúan si estas lo permiten. Solo revisan lo guardado porbot watch, ya que Telegram no ofrece historial. Consulta moderación de bots.tg <name> bot mcpconecta el bot al agente mediante MCP, con herramientas según permisos. Eliminar muestra formulario primero. Consulta MCP para bots.tg messages searchadmite lenguaje de consulta:"a phrase",-word,a OR by filtrosfrom:,chat:,after:/before:yhas:. Corrige erratas y lo avisa por stderr.--context <n>muestra contexto (2 en terminal).in:max,in:ally--sourceincluyen otras cuentas guardadas, también MAX. Consulta búsqueda.- Búsqueda de conversaciones por significado:
tg conversations embed --chat <chat>calcula vectores locales ytg conversations search "<question>"encuentra conversaciones próximas en uno o todos los chats procesados.tg models text list|downloaddescarga el modelo una vez en la carpeta compartida con voz. Con tu clave,--provider openaio--base-urlpara Ollama, LM Studio y similares usa un servicio después de explicar qué se enviará y cuánto puede costar. Consulta búsqueda semántica. tg store fetchya no se ejecuta indefinidamente si Telegram devuelve mensajes repetidos.tg bot watchrecibe actividad y la guarda antes de imprimir;--eventsincluye ediciones, botones, entradas y salidas.tg bot callbacks answer,tg bot commands list|set|clearytg bot webhooks list|set|delete, comomax bot. Consulta bots.tg bot chats admins list|add|removeytg bot chats members remove [--block]consultan administradores, permisos y título; permiten ascender con--cany--title, retirar permisos y eliminar personas definitivamente con--block. Consulta bots.tg bot messages send|list|show|edit|delete|pin|unpinytg bot chats show|leave|actionescriben por identificador, título ouser:<id>, con--md,--html, archivo o foto. Sin historial de Telegram,listyshowusan lo enviado y recibido en el equipo. Eliminar pregunta;--allow-dangerousaprueba.- Tu agente puede vincular conversaciones cuando se lo pidas:
tg skill show link-conversationses la guía. Explica cuánto leerá y espera aprobación; después procesa lotes (tg conversations batches next,tg conversations links add).tg conversations links clearelimina respuestas. tg no llama a modelos. Consulta archivo local. tg mcpofrece la guía como recursotg://skilly la menciona al conectar; el agente puede leerla sin ejecutartg skill show.
Cambios que pueden afectar a scripts
tg messages searchordena por mejores coincidencias, no por fecha;--newestrestaura el orden anterior. Sin mensajes que contengan todas las palabras, busca cualquiera y después fragmentos. Mantieneitems,limityhasMore; añadematchyscorepor resultado,corrections,completenesspor chat ywordsReady. Acepta consultas de una o dos letras.- tg requiere Node 22.16 o posterior, o Bun. Si Node en Linux usa SQLite del sistema demasiado antiguo,
tgse reinicia con el SQLite de@leemour/cli-messaging-sqliteantes de leer o enviar. Las versiones oficiales de Node y Bun no notan el cambio.
Correcciones
- Los rechazos de escritura del bot indican un comando de configuración válido con
--boty la clave de permiso (cli-messaging 0.111.0). Antes colocabanconfigdentro debot, donde no existe. - Los comandos locales ya no dicen que cambian Telegram.
config setyunset,chats rules setyunset,recipients add,removeyclear, yauth set,auth remove,recipients add,removeycleardel bot solo modifican configuración, reglas, listas o almacén de claves. La referencia indica "Changes something on this computer only.". Siguen siendo escrituras entg commands.chats moderateysession endsiguen indicando cambios en Telegram. tg contacts showincluye el chat individual entre los compartidos, recientes primero. Antes solo mostraba grupos porque la lista de chats comunes de Telegram solo incluye grupos.
0.21.0 — 01.10.2026
Novedades
tg bot: bots de Telegram mediante la Bot API oficial y su token:bot auth set|show|remove,bot list [--check],bot chats list,bot recipients list|add|remove|clearybot sends list, como enmax bot. Permite varios bots con nombres propios; el token se guarda comobot:<name>en el almacén de claves o enTG_BOT_TOKEN. Consulta bots.tg conversations batches status|next --chat <chat> [--size <n>]: divide un grupo en lotes para que tu agente de IA vincule los mensajes en conversaciones.statusindica los mensajes y lotes pendientes;nextimprime el siguiente lote. tg no llama a ningún modelo.tg skill install [--for claude|agents|all]guarda la guía de tg donde la buscan Claude Code y otros agentes. Si un agente ejecuta tg sin tenerla instalada, se avisa una vez al día por stderr;tg config set skillHint false --defaultslo desactiva.tg store clear --leftelimina del archivo local los chats abandonados y sus mensajes. Requiere--allow-dangerous; sin ella solo indica cuánto eliminaría.tg conversations build|list|showytg messages links, con herramientas MCPtg_conversations_listytg_conversations_show: identifica conversaciones de grupos en mensajes guardados por respuestas, menciones y turnos; sin peticiones a Telegram ni IA. No construye nada hasta ejecutarbuild. Consulta archivo local.- Se conservan las menciones por nombre: si alguien se menciona por nombre en lugar de @username, el mensaje guardado recuerda a quién se refiere para enlazar conversaciones.
tg chats rules show|set|unsetytg chats moderate, con herramientas MCPtg_chats_rules_showytg_chats_moderate: reglas para enlaces, invitaciones, reenvíos, mensajes repetidos y personas bloqueadas. Los niveles permiten denegar, solo informar, preguntar (predeterminado) o actuar. Nada se ejecuta en segundo plano. Consulta grupos.tg messages list --before-timeretrocede desde una fecha ISO 8601 o intervalo anterior como2h/1d.tg contacts add|remove|block|unblock|rename|import,tg account updateytg account sessions end --others, con herramientas MCPtg_contacts_add|remove|block|unblock|renameytg_account_update.contacts importlee líneasnumber, namey solo muestra cantidades y usuarios reconocidos. Cerrar otras sesiones también desconecta el móvil: pregunta primero y nunca se ofrece a un agente.tg chats folders list|create|update|delete, con herramientas MCPtg_chats_folders_list|create|update|delete. Cambiar los chats de una carpeta conserva los demás; no se muestra «Todos los chats» porque no se puede modificar.tg chats members add|removeytg chats admins add|remove, con herramientas MCPtg_chats_members_add|removeytg_chats_admins_add|remove.--canadmite members, admins, info, pin, link, post, edit y delete; Telegram no tiene permiso independiente de lectura. Al añadir se indica quién no pudo añadirse; cada persona cuenta para el límite por hora.tg chats update <chat>, con--title,--description,--all-can-pin on|off,--only-admins-add on|off, ytg chats link show|reset, con herramientas MCPtg_chats_update,tg_chats_link_show,tg_chats_link_reset.tg chats showincluye descripción, enlace y ajustes del grupo.tg chats create <title> [person...],tg chats join <link>,tg chats leave <chat>, con herramientas MCPtg_chats_create,tg_chats_join,tg_chats_leave. Un grupo nuevo siempre es un supergrupo (--channelcrea canal); se enumeran las personas que no se pudieron añadir. Consulta uso.- Permisos por comando, tanto para ti como para agentes.
permissionsasigna niveles a rutas:deny(ni lectura),readonly,askoallow. Gana la clave más específica:tg config set permissions.messages.delete allow. Por defecto todo se permite salvo eliminar mensajes y cerrar otras sesiones, que preguntan.askpregunta y/N;--allow-dangerouspara eliminar y la nueva--yespara otras escrituras aprueban en scripts.readOnlyyallowsiguen funcionando. Consulta seguridad. tg messages send --voice <file>envía Ogg Opus como nota de voz;.mp4y.movcon--filese reproducen como vídeo.--as-fileconserva el archivo descargable.tg messages list --mark-readmarca como leído hasta el mensaje más reciente mostrado. Ninguna otra lectura marca mensajes.--modeljunto a--transcribeentg messages listytg inbox, ytg review --transcribe: la revisión incluye texto de notas de voz.tg store fetch --last <n>detiene la descarga cuando conserva los n mensajes más recientes; repetir el mismo--lastconsulta una página y termina.tg polls create --revotepermite cambiar el voto.tg store export --output <file> --since-time <time>. Exporta a un archivo nuevo legible solo por ti, sin sobrescribir, y permite empezar desde una fecha.tg account showmuestra las cuatro últimas cifras del teléfono y el número completo con--show-phone.tg_account_showsiempre muestra solo las cuatro últimas.tg messages forward --send-id. Reintenta un reenvío sin respuesta con el identificador del error; Telegram conserva una copia, igual que en envíos.--jsonincluyesendId;tg_messages_forwardaceptasend_id.tg messages edit --mdformatea comomessages send --md;tg_messages_editaceptamarkdown.- Mantenimiento del archivo local:
tg store info,check,migrate,backup,restore.infoindica ubicación demessages.db, tamaño, esquema y filas.checkcomprueba integridad, claves externas, índices y espacio libre; identifica chats cuyo historial termina antes del último mensaje y no repara nada.migrateactualiza y normaliza mensajes anteriores.backup <file>copia el archivo en uso con acceso solo para ti, sin sobrescribir.restore <file>restaura una copia y conserva al lado el archivo sustituido; rechaza sitg serveestá activo o algún proceso tiene la base abierta. La base se comparte con max-cli: reinicia después losserveymcpactivos de ambos CLI. - Cada escritura tiene identificador propio,
operationId. Envios, ediciones, reenvíos, eliminaciones, mensajes fijados, reacciones, marcado como leído y votos lo incluyen en--jsony MCP, registro de envíos y--trace, para seguir una operación desde respuesta a registro. En envíos,operationIdequivale asendId. - Unos 16 MB menos al instalar: cli-messaging 0.60.0 incluye su capa de base de datos en lugar de depender de ella.
Cambios que pueden afectar a scripts
tg server status --jsonusa los campos comunes a ambos CLI:sincepasa astartedAt,listeningaconnected,listeningSinceaconnectedAt; añadecliVersion,logystalesi unservedesaparecido dejó un bloqueo.tg server startdevuelvestartedAtyconnectedAtigual;tg server stopindica quién lo inició (by). El texto dice "connected" en lugar de "listening".tg messages send --atpasa a--at-time, como las demás opciones de tiempo.- Los argumentos MCP usan el nombre de sus opciones:
tg_messages_listaceptabefore_id,before_time,after_id,after_time;tg_messages_context,before_n,after_n;sincepasa asince_timeentg_inbox,tg_reviewytg_chats_events; en esta última,eventpasa atype.tg_messages_sendaceptamdyat_time. - Las opciones indican el tipo de valor. Los nombres anteriores se rechazan como desconocidos, sin alias. Los argumentos MCP no cambian.
tg messages list --beforepasa a--before-id;--afterpasa a--after-idpara identificadores y--after-timepara fechas, evitando confundirlos.tg messages context --beforey--afterpasan a--before-ny--after-n.--sincepasa a--since-timeentg inbox,tg review,tg chats eventsytg store fetch.tg messages download --outputpasa a--output-dir.tg chats events --eventpasa a--type.
tg review --unansweredacepta una duración, como4ho1d, no horas sin unidad; rechaza--unanswered 4. Sin valor siguen siendo 24 horas.tg_reviewen MCP sigue aceptando horas.tg chats events --jsonimprime{ items, page, limit, hasMore, chatId, since }:eventspasa aitemsymoreahasMore.tg server logs --jsoncambialinesporitems.--jsonlno cambia..mp4y.movcon--filese reproducen como vídeo; antes llegaban como archivos. Añade--as-filepara mantenerlos descargables.tg mcpofrece herramientas según permisos del perfil, no opciones. Por defecto un agente puede enviar, editar, reenviar, reaccionar, votar y marcar como leído sin--allow-sendni formulario; eliminar muestra un formulario (tg mcp --allow-dangerouslo omite). Para solo lectura, usa un perfil conreadOnly: consulta MCP.--allow-send,--allow-mark-ready--allow-deleteya no deciden nada y muestran avisos;--confirm-sendsigue mostrando todas las escrituras.tg messages deletepregunta en terminal si falta--allow-dangerous, en lugar de rechazar; sin terminal sigue rechazando.- Desaparece
tg store fetch --max <n>;--limit <n>limita la ejecución a ese número de mensajes (1000 por defecto) y--page-size <n>indica mensajes por petición (100 por defecto), como max-cli.--maxno se conserva como alias. - Las encuestas sin
--revoteya no permiten cambiar el voto, como max-cli; Telegram lo permitía por defecto. Añade--revotepara mantener el comportamiento anterior. tg polls voteytg polls close --jsonimprimen{ operationId, poll }en lugar de solo la encuesta; léela desde.poll.tg_polls_voteytg_polls_closeresponden igual.tg runs list,tg sends listytg recipients list --jsonimprimen{ items, page, limit, hasMore }en lugar de un array, igual que las demás listas. Lee.items.--jsonlno cambia.
Correcciones
tg chats listya no duplica chats fijados. Al incluir archivados, las páginas de Telegram repetían fijados más adelante; en una cuenta se duplicaban 8 de 1361. El título también coincidía consigo mismo dos veces y podía rechazarse como ambiguo.tg server stopy Ctrl-C terminanserveywatchcorrectamente. serve se cerraba antes de limpiar el bloqueo ytg server statusmostrabastaledespués de cada parada.tg serveren una copia de desarrollo no toca la unidad systemd instalada. Un repositorio conTG_STATE_DIRo base de datos propia obtiene otro nombre de unidad; la instalación conservatg-serve-<profile>.service.- Los chats abandonados ya no aparecen en
chats list --offline. Desaparecen cuandotg chats listconsulta la lista completa; sus mensajes permanecen hastatg store clear --lefty vuelven si te unes de nuevo. - Dos rechazos explican qué hacer. Si intentas volver a añadir a alguien que salió o fue eliminado y no sois contactos mutuos, indica enviarle el enlace (
tg chats link show <chat>). Si nombras por identificador a alguien que la cuenta nunca vio, indica usar @username o leer primero un chat compartido. - Los argumentos rechazados por la biblioteca ya no repiten lo escrito. Su error podía revelar títulos o enlaces. Ahora identifica el tipo de entrada incorrecta cuando puede —chat al que no perteneces, enlace de mensaje o invitación, teléfono, código o contraseña— o informa de que Telegram rechazó un argumento.
- Las conversaciones se muestran en inglés. Los mensajes propios aparecen como
youy los días como26 September 2026; antes estaban en ruso. - Chats y mensajes no encontrados devuelven
not_foundy chats de tipo inadecuado devuelvenvalidation_error. Antes eran fallos desconocidos con código 1 y texto de la biblioteca que podía repetir títulos. - El error "not logged in" indica tu perfil:
tg <profile> session start, como las demás pistas de acceso. - Descargas y exportaciones vuelven a usar tus permisos habituales. Desde la primera versión, abrir una sesión hacía que todos los archivos escritos después solo fueran legibles por ti. La sesión y sus archivos asociados siguen siendo privados.
0.20.0 — 30.09.2026
Novedades
- Se guarda @username del remitente en el archivo local, para que
--from @namey la futura vista de conversaciones relacionen menciones y personas. Desde cli-messaging 0.57.0; el historial previo lo incorpora al descargarse de nuevo. tg store fetch <chat> --since <time>detiene al llegar a mensajes anteriores a la fecha:2026-09-01o2h/1datrás.
Cambios que pueden afectar a scripts
Los comandos siguen un criterio: sustantivo y después verbo. Los nombres anteriores desaparecen sin alias; los scripts que los usan fallan con "unknown command" o "unknown option".
tg export <chat>pasa atg store export <chat>,tg sync status [chat]atg store status [chat],tg backfill <chat>atg store fetch <chat>ytg backfill list|status|cancelatg store jobs list|show|cancel.store fetchdescarga por defecto;--estimatesolo estima.--pacepasa a--pauseaquí y entg messages download --all.--maxconserva su nombre: cuenta mensajes.- Desaparece
tg messages reply:tg messages send <chat> [text] --reply-to <id>responde y acepta todas las opciones de envío (--file,--photo,--silent,--at, …).msg:telegram/…no tiene sustituto: indica chat e identificador. tg chats readpasa atg chats mark-read;tg_chats_readpasa atg_chats_mark_read.tg recipients offpasa atg recipients clear.tg update [--check]pasa atg upgrade [--check]; el aviso diario indicatg upgrade.tg messages search <words…>llama a su argumento<text…>; la búsqueda no cambia.
0.19.0 — 30.09.2026
Correcciones
- tg termina al finalizar el comando. Una descarga llegó a permanecer activa media hora después de imprimir, con o sin
--timeout. Si algo sigue abierto cinco segundos después de finalizar, tg lo identifica por stderr y sale con el código del comando. Espera a que termine de escribirse la salida.
0.18.0 — 30.09.2026
Correcciones
- Supergrupos y canales vistos primero mediante un mensaje ya no pierden mensajes por eliminaciones en chats privados (cli-messaging 0.54.0). En 0.16.0 el archivo no conocía aún su tipo; ahora basta el identificador
-100…. - Los mensajes marcados por error como eliminados reaparecen al volver a leer el chat (
messages list,messages contexto edición recibida en directo). Las eliminaciones posteriores a la lectura se conservan.
0.17.0 — 30.09.2026
Novedades
tg messages download <chat> --allguarda todos los archivos —fotos, documentos, vídeos, voz— en--output, recientes primero. Si se interrumpe por--timeouto Ctrl-C, reanuda y recoge mensajes nuevos; guarda el progreso en.download-<chat>.json. Espera hasta cinco minutos si Telegram exige "wait N seconds";--pace(1 s) separa páginas. Los nombres repetidos reciben el identificador como prefijo; nunca sobrescribe. (cli-messaging 0.53.0)
0.16.0 — 30.09.2026
Correcciones
- Eliminar en chats privados o grupos básicos ya no marca mensajes de otros chats (cli-messaging 0.52.0). Telegram no indica el chat en esas eliminaciones; antes se marcaban todos los mensajes con ese número, incluidos canales y supergrupos. Los ya marcados así permanecen marcados, pero conservan el texto.
0.15.0 — 30.09.2026
Correcciones
- Los modelos locales ya no omiten palabras dichas en voz baja. Los tramos bajos se confundían con silencio; ahora Parakeet y GigaAM los transcriben. Los mensajes procesados anteriormente se vuelven a transcribir cuando los solicita
--transcribe; las transcripciones de Telegram permanecen. (cli-messaging 0.51.0)
0.14.0 — 30.09.2026
Novedades
Cambios visibles para otros que pasan por la protección como messages send: se rechazan en solo lectura, allow debe incluir el permiso, se aplican destinatarios y límites donde corresponda y tg sends list registra sin texto.
tg messages edit <chat> <id> [text]cambia un mensaje propio; repetir la misma edición no cambia nada.tg_messages_editconmcp --allow-send.tg messages forward <chat> <id> --to <chat> [--silent]comprueba el chat de destino. Si el resultado es desconocido, consulta el destino antes de repetir.tg_messages_forward.tg messages pin|unpin <chat> <id>sin aviso salvo--notify; en chats individuales fija solo de tu lado.tg_messages_pinytg_messages_unpin.tg reactions add <chat> <id> <emoji>ytg reactions remove <chat> <id>; las reacciones no cuentan para el límite.tg_reactions_addytg_reactions_remove.tg chats read <chat> [--until id]marca como leído y la otra persona lo ve.tg_chats_readsolo aparece con la nuevatg mcp --allow-mark-read, no con--allow-send.tg messages delete <chat> <id…> --allow-dangerous [--for-everyone]elimina hasta 10, solo para ti salvo--for-everyone, y nada sin--allow-dangerous. En supergrupos y canales se requiere--for-everyone. La nuevatg mcp --allow-deleteofrecetg_messages_delete, que solo elimina tu copia.tg polls show|vote|close|createconsulta identificadores, vota por identificador (nunca posición) o--retract, cierra tu encuesta o crea una pública salvo--anonymous, con--send-idpara reintentos seguros.tg_polls_showlee;tg_polls_vote,_closey_createrequieren--allow-send.
0.13.0 — 30.09.2026
Cambios que pueden afectar a scripts
- La base de datos compartida pasa al esquema 6 (cli-messaging 0.49.0). La primera ejecución actualiza
messages.db; unmaxanterior al publicado ese día lo rechaza y pide actualizar:npm install -g @leemour/max-cli@latest. Los comandos propios detgno cambian.
0.12.0 — 30.09.2026
Novedades
tg chats inspect <link>ytg_chats_inspectmuestran título, miembros, descripción, si perteneces y si requiere aprobación, sin unirse.tg topics list <chat>ytg topics search <chat> <text>, contg_topics_list: temas de foro paginados, con el identificador que cada mensaje lleva enthreadId.
0.11.0 — 30.09.2026
Novedades
- Los mensajes de voz incluyen texto en
tg messages listytg inbox. Las transcripciones se guardan por perfil en la caché y aparecen al leer de nuevo:transcripten--json,🎤 …para personas.--transcribeprocesa el resto mediante Telegram o modelo local durante hasta dos minutos para toda la lista; pendientes enunheard. Igual contranscribeentg_messages_listytg_inbox. tg chats members list <chat>ytg_chats_membersmuestran miembros paginados, función y última conexión, hasta el límite propio de Telegram de 10 000.tg contacts lookupencuentra al usuario de un teléfono si su privacidad lo permite. Número por stdin o introducido al solicitarlo, nunca como argumento. Tambiéntg_contacts_lookup.tg contacts syncguarda contactos e indica cuántos eran nuevos o cambiaron.tg account sessions listytg_account_sessionsenumeran dispositivos y aplicaciones sin IP, sin cerrar nada.
0.10.0 — 29.09.2026
Novedades
- Transcripción local.
tg models audio listytg models audio download <id>descargan una vez Parakeet v3 (25 idiomas, predeterminado), GigaAM v3 o GigaAM v3 CTC (ruso) en~/.cache/cli-common/models/audio, carpeta compartida.tg messages transcribeconsulta Telegram y usa modelo local si falta Premium;--localy--model <id>omiten Telegram.transcribeWith(auto,messenger,local) yspeechModeldefinen los valores. Nunca descarga automáticamente. tg messages send --photo <path>o--file <path>, con texto como leyenda, yphotoyfileentg_messages_send. Rechaza ocultos,~/.ssh, carpetas propias y base local salvo--allow-any-file; por MCP no hay excepción. El registro guarda tipo y tamaño, no nombre. Reintentar con--send-idconserva una copia (comprobado con una foto).tg updatereinicia el servidor con el nuevo tg, para no conservar código antiguo; si serve se inició manualmente, indica que debes reiniciarlo.tg server statusavisa si serve es anterior a tg, igual que max-cli.tg chats events <chat> [--since] [--event]ytg_chats_eventsmuestran entradas, salidas, añadidos, eliminados y responsables, creación y renombrado de chat o mensajes fijados; últimos siete días por defecto. Máximo diez páginas por ejecución;moreindica datos adicionales.
0.9.0 — 29.09.2026
Novedades
tg session startindica quién inició sesión, ubicación de la sesión, origen de claves y siguiente paso en frases.--jsonañadesessionyappKeys(environment,keyringofile, nunca las claves).tg chats list --search <text> --kind <kind> --unread, igual entg_chats_list. Los filtros combinados se aplican a los 200 recientes;--searchexige tres caracteres.tg messages list --after <id-or-time>avanza desde identificador o fecha (2h,1d, ISO 8601), antiguos primero.afterentg_messages_list.tg messages send --silent --no-preview --mdsin aviso, sin tarjeta de enlace y con formato de Telegram**bold**,_italic_,~~struck~~y`code`. MCP admitesilent,no_previewymarkdown. El registro solo guarda longitud.tg messages send --at <time>programa en Telegram para2h,1do2026-10-01T09:00local.tg messages scheduled <chat>(MCPtg_messages_scheduled) enumera pendientes. Nunca se reintenta un programado: rechaza--send-id.
Cambios que pueden afectar a scripts
tg service …pasa atg server …, constart|stop|restart|status|logs|install|uninstall, como max-cli. Desaparecetg serve status; usatg server status. Sin unidad,tg server startinicia en segundo plano. Se encuentran unidades creadas portg service install. Desde cli-messaging 0.40.0.
0.8.0 — 29.09.2026
Novedades
tg reviewlee todos los mensajes, incluidos tuyos, en chats activos desde--since(tres días por defecto), para clasificar compromisos. Indica desde dónde continuar.--chatconsulta uno;--unanswered [hours]filtra preguntas sin contestar, contando respuestas de administradores;--allincluye silenciados y archivados.tg_reviewy el promptreviewhacen lo mismo.
0.7.0 — 29.09.2026
Novedades
tg messages transcribe <chat> <id>ytg_messages_transcribeconvierten notas de voz o vídeo con Telegram, para Premium o prueba semanal. Suele tardar segundos; tg consulta hasta un minuto y después devuelve"pending": true. Los rechazos explican si no es voz, es demasiado largo o falta Premium.tg_messages_photoentrega al agente una imagen hasta 512 KB. Fotos mayores, archivos, vídeos y voz se rechazan indicandotg messages downloadpara guardarlos.
0.6.0 — 29.09.2026
Novedades
tg inboxomite silenciados y archivados salvo menciones o respuestas a ti;--allyallentg_inboxlos incluyen. En cuentas activas solían ocupar los 20 chats leídos porinboxen cada ejecución.quietcuenta los omitidos.- Los chats incluyen
muted,archivedyunreadMentionsen--json.archivedsale deproviderMetadata;mutedno aparece si sigue el valor predeterminado de la cuenta.
Correcciones
tg messages send --silent,--no-previewy--markdownrechazan el envío en lugar de ignorar las opciones: llegaron con cli-messaging 0.32, pero tg aún no las transmitía a Telegram.
0.5.0 — 29.09.2026
Novedades
tg service install|uninstall|start|stop|status|logsejecutatg servecomo unidad systemd de usuario en Linux o agente launchd en macOS, por perfil.installsolo escribe; no inicia hastatg service start.tg backfill <chat> --backgrounddescarga como tarea persistente.tg backfill list,status [job]ycancel <job>la gestionan. Ctrl-C ocanceldetienen tras guardar la página actual.tg backfill <chat> --estimateestima mensajes, peticiones y segundos restantes desde el archivo local, sin consultar Telegram.tg export <chat> --format markdownexporta una transcripción legible.tg messages search --regex '<pattern>'aplica expresiones regulares al texto guardado.tg doctor report creategenera informe con versiones, rutas, fallo y últimos envíos, sin texto y con identificadores sustituidos por etiquetas.tg session start --qr-file login.pngguarda el QR como PNG para mostrarlo mediante un agente y lo elimina después. Con la aplicación ya guardada no necesita terminal.tg messages download <chat> <id> [--output dir]guarda fotos, archivos, vídeos o voz en la carpeta actual o--output, e indica ruta y tamaño. El nombre del remitente no puede salir de la carpeta ni ocultar el archivo; nunca sobrescribe. Vuelve a consultar el mensaje cada vez para descargar también los antiguos.
Correcciones
tg messages list --jsonlytg messages search --jsonlimprimen un mensaje por línea, como indica--help. Antes imprimían la página en una línea; los scripts que leían.itemsdeben leer cada línea como mensaje.
0.4.0 — 29.09.2026
Novedades
tg inboxmuestra mensajes ajenos sin leer;--newsolo los recibidos desde la última revisión, una vez cada uno. MCP ofrecetg_inboxy promptcatch-up.tg skill showimprime las instrucciones para agentes.- Prompts MCP y recurso de chat:
reply,findytg://chat/{id}.
0.3.0 — 28.09.2026
Novedades
tg mcpofrece un perfil por MCP mediante stdin/stdout. En esta versión era solo lectura por defecto;--allow-sendofrecía envíos y--confirm-sendlos mostraba primero.tg mcp configimprimía la configuración del cliente.
Cambios que pueden afectar a scripts
- Los fallos previos al comando se guardan, incluidos errores de uso o configuración que no carga.
tg runs listlos muestra;--no-recordlo desactiva.
0.2.0 — 28.09.2026
Novedades
tg updateactualiza con el gestor de paquetes original;--checksolo comprueba.- Aviso diario por stderr si hay nueva versión en npm, solo en terminal y después del comando.
TG_NO_UPDATE_CHECK=1lo desactiva.
0.1.0 — 27.09.2026
Primera publicación en npm.
Novedades
- Inicio de sesión por QR o teléfono (
tg session start); credenciales de my.telegram.org obtenidas desde navegador o automáticamente (--app auto) y guardadas en el almacén de claves. - Lectura:
account show,chats list|show,contacts list|show,messages list|show|context. - Envíos con
messages sendymessages reply, protegidos por destinatarios, perfiles de solo lectura, registro de intentos (tg sends) y--send-idpara reintentar resultados desconocidos sin duplicar. - Archivo local: guarda cada lectura en una base compartida;
--offlinela consulta,messages searchbusca,backfillla llena,watchyservela actualizan,sync statusyexportla leen. - Registros de ejecución (
tg runs),config,doctor,commandsy autocompletado (complete).