{"_id":"clawgram","_rev":"54-6cb2cd7a7df706a26c591b216f93ddbb","name":"clawgram","dist-tags":{"latest":"2.29.2"},"versions":{"2.0.0":{"name":"clawgram","version":"2.0.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.0.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"4d1956275df3fda20ea920b5637eb1427b5b08f4","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.0.0.tgz","fileCount":20,"integrity":"sha512-/YuzVwtjXgrm/73BKviwvFfK56Z+c7ZqAY49Xjf546EHmbpzmMuhwB6D/EMbxcDIWNZnm05lX0W9Uq5hFav8vw==","signatures":[{"sig":"MEYCIQDxztUgkwr+5+y/tJV3yFpHuy7R2Y6o7vjhnumhwPdocwIhAOqMo0hC4u01S/YvylIhmIOuHBkgk2dXu5J0jVQrCilc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":189702},"main":"./dist/index.js","gitHead":"544b1d561abe95b2f2d86464a88b7226808e0377","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.5.7","pluginSdkVersion":"2026.5.7"},"compat":{"pluginApi":">=2026.5.7","minGatewayVersion":"2026.5.7"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.4","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.5.7","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.7"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.0.0_1785705075831_0.8823439355273557","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"clawgram","version":"2.1.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.1.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"e91e88dd46421f10c2f4959fac4efd82957b0fd7","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.1.0.tgz","fileCount":20,"integrity":"sha512-cYvN9sfTuTvCBWcnrFWX5AvgiZXe5nsNUMjWOFgsN1el1QAtdgz2bxAvQbGkhsfz5+hOTTkVnoG5sDxIOUufsg==","signatures":[{"sig":"MEQCICfW4vnEuhN4U/NcZ8gc7+bR/HqVZYT9+BK3UdnHtATdAiATwBOIyvfxflIijjw+uFoqbDjB7mpmGLgCxGdVs2WaIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193717},"main":"./dist/index.js","gitHead":"f0dada34309e8a8b5edd3da579384fac44aaa019","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.4","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.1.0_1785710879049_0.7883309616601601","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"clawgram","version":"2.2.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.2.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"f0216f5580f9fe6df9e5ec89d5de58b724201608","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.2.0.tgz","fileCount":24,"integrity":"sha512-2c4xHscuuw8M92Fkc1cs31Zb13oZ78CHQq+tcRnKow/xibUqBs9FL01iXq8JFBxX4Ixv0fxbPj6qpVvHZZpR3A==","signatures":[{"sig":"MEUCIQDyTtdB7oN8pPhtr1G6VAe2u+bcbpPRIwRjzpADSQ2sbwIgfZ3bJPMUGGAkTU30fZNnbUaLR56EE4krS1VjecQlQTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":225032},"main":"./dist/index.js","gitHead":"c9b8169ce9113f44d6d351016b481f4d6a875d57","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.2.0_1785753153475_0.7381040228655722","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"clawgram","version":"2.2.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.2.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"e6513e8ff0c32ec6fbfd4fc90a6e1c0b714627fd","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.2.1.tgz","fileCount":24,"integrity":"sha512-jNlvGE/xAN6SY2qihZkzaD4iAaFV3J6bJnfK5JrfZz5NyBz2nGxrwhRCPBtjtRRXulJCgL44iMCi6rbist5lkw==","signatures":[{"sig":"MEUCIQCpItJxVeZJPpQicLtd9g58G3rtDcxSgji/uDLSt540AAIgSnyw9rXVGPQZDRTBUzTlIAic+0PfPvepa1myc+wGLPo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229684},"main":"./dist/index.js","gitHead":"719649076451fbaef2edcf49b497c33a53c721c5","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.2.1_1785757953612_0.3452448611017236","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"clawgram","version":"2.2.2","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.2.2","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"f69a974e786a070d6623b148dc2e7aa941d3259c","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.2.2.tgz","fileCount":24,"integrity":"sha512-NCNjl/gY7Ysdr3UlKu6rxBDqXAXxVTwmU1c075Ke4H4yRLXLmk/D5qBMrTCC5SJbl9d0wcpBBtE2W4tmTQ0SFQ==","signatures":[{"sig":"MEYCIQC00DWbBudB4xwcouR2eINfr4FzeXhXXGLP2XW4vGFgrQIhAIOpfmPxrkUSortBQL7zRDPPF83tIpKvu+paBP8u+H9i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":229684},"main":"./dist/index.js","gitHead":"2fd30302ed311b859b32dc7bea69c725c5c9a642","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.2.2_1785773017599_0.8386473317214211","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"clawgram","version":"2.3.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.3.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"a91870d117ec63ef1b9bfc50b214b1bcd7dcc88e","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.3.0.tgz","fileCount":24,"integrity":"sha512-zz/fHOKDKIoiwRG8fPH9yygee+zCVQnQ/pxApwnnkYz7XsCr5c/q4oPmRRWpE28lO8m5Uy/fJ1Ib8XCLUCfrBA==","signatures":[{"sig":"MEUCIQDuIDiHH4fvzAX5CHn2raVHBAdeyx6tSa3i+UR3HsFikQIgY8OhNPiB4ngV8xyy2iIpV+GCQujuTp0R6N89xyPvmK4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230868},"main":"./dist/index.js","gitHead":"2faabfef0d549259cdc475675ed9acdebbb108c8","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.3.0_1785971554469_0.07162887630447434","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"clawgram","version":"2.3.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.3.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"9af6dbbe92ec202697de472d7f7a8bb0d0f37765","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.3.1.tgz","fileCount":24,"integrity":"sha512-QIR3TlcIRtz+MPDx8+A0jloLh70DNkuRqWDrAHT9M4xMZZTyd09tLiGKNTDDx6lkHaynSqaCIbgaSS/JLV4i+g==","signatures":[{"sig":"MEUCIFOWJlO6PZNPdw7QfGAbK/A111h+CkNmdh43YgDv7tc0AiEAkh28T8jBwWsIBxIqkMUURHlUmaSlULNnIeCxJ5B88ZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232268},"main":"./dist/index.js","gitHead":"9d9150dfe439297897a2946466d7a4e1b68646ee","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.3.1_1785972789806_0.8946778696604281","host":"s3://npm-registry-packages-npm-production"}},"2.3.2":{"name":"clawgram","version":"2.3.2","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.3.2","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"7c3760a033d40ef728c0ac072fe42a212aee2853","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.3.2.tgz","fileCount":24,"integrity":"sha512-CR13E/0dcRfePx1umRIyqCZ5CH8jf3DPrJ54+LUj7pFWbPl6yaf+YlRG/0MdLjFeWHaJd0tnKfIQDUYUzBJMeQ==","signatures":[{"sig":"MEUCIQDRQmPOBPAfDzJZR9wmiqQGTH/g5BqIV1Npobh6SWGwRQIgNkLVuIKr+q1jbPOG/sdNPas3YXy4lZw/5XjtWkigNjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":232708},"main":"./dist/index.js","gitHead":"fafd80e72cfb5bf09514ba5d149a425a265c5694","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.3.2_1785973019818_0.8265135663064458","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"clawgram","version":"2.3.3","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.3.3","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"ae7a666b03b32ce9335947ad5ab1114f808efe71","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.3.3.tgz","fileCount":24,"integrity":"sha512-UxbX5AJ7a2uSVq58deL3OvAgQqbxLXeAUVKELKdXwR4RLmMn/BC+u5uGGRrE5p2ddzdUI6bzJK8GZ0xLHSPTpQ==","signatures":[{"sig":"MEYCIQCgEMdVZ/Uguin12hJ7P9OPLJtlqOi9x06FrVCbvZg+9gIhAOMN+TkiTzGhnM/f7Flps8AC3bTrRxQwfyMt0bX6fRuK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.3.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":233117},"main":"./dist/index.js","gitHead":"54836a0f4045f78b3814b9c912d5c80878527128","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.3.3_1785973737889_0.5422692504869562","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"clawgram","version":"2.4.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.4.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"d8024f76af71b75fdde41f67d6859909ae0b958c","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.4.0.tgz","fileCount":24,"integrity":"sha512-LyCv9y9HjZBV9S7f7J/gbmtJMQQdp24wBQDz3GIgcaLCbQ4NUcD0ee4JT72MCBPn4n4/rhscHcpJiq6TuQ/yIg==","signatures":[{"sig":"MEUCIEdczZypBNuJcJ/if9XosFDmHShY1H0UaxL3IUWjIq8/AiEA/jeFmsN60UqVgIHvgKe9SB7ohUIKmNI4uDYq5mGjDMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":235128},"main":"./dist/index.js","gitHead":"4a34d2aad40900e9464d732118045e420af6fbef","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.4.0_1785982473434_0.21694474510449924","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"clawgram","version":"2.4.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.4.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"4909ad813683ec497cdbe60c61c9af2566ab5829","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.4.1.tgz","fileCount":24,"integrity":"sha512-F4yPnR5edMq9LCpblvlfMY9OUdWlMzOQwAethlKTq+gvSlY4cr29WryEXV/S8DAgiahDhVg/izVpwXwthWCXZw==","signatures":[{"sig":"MEUCIQD7NJyQyPv0edKtRkT8MckIa0/Dmbjmm3DcR08q5eTUvQIgC1/q4GQPxk3qEW2alXb33I35w92UITZTFJAlyeVI7AE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236502},"main":"./dist/index.js","gitHead":"9efadc18c24bb6c5ddca66d733ec1d4bc14c4eb5","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.4","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.4.1_1786037044835_0.37116070440334004","host":"s3://npm-registry-packages-npm-production"}},"2.4.2":{"name":"clawgram","version":"2.4.2","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.4.2","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"83221c25ac22fcda08113e645ec007c0f7df9846","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.4.2.tgz","fileCount":24,"integrity":"sha512-9EcAPOq4twC07y8jORI9/LJZ6qDAtkadhVORY6b7KUFarCOT/IqVa4AwU/5MQNYMaOtBqI7OVLkof/kS367c9w==","signatures":[{"sig":"MEQCICRF5eeXXtSh+VWTbfo6gusOtODM5MFcnhSwKHrqIGADAiAn20pHHFvA7n/qodWkCld5yjpYWsp2y7k5Bj74bguJLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237676},"main":"./dist/index.js","gitHead":"0b1ce876bf6e4ec91b15a8febc28df2a704c68e3","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.4","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.4.2_1786041566741_0.2512881776584619","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"clawgram","version":"2.4.3","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.4.3","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"8610e68d54223afe9af3136b84db237cb7dc1dfa","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.4.3.tgz","fileCount":24,"integrity":"sha512-+AZp71/ykEM1d/cyeI5fZSls1YK08ofheXv/Gdinmn8rKkXtdUuxl3t1dEjbqpd2Yyce+QGm2qs/90aU+9XMag==","signatures":[{"sig":"MEYCIQDbDffU55Ed9+x6g9qahjoVLkM5XRI3m2rShTMWohbu6QIhALyjzPaqioVVArB06dFormeVHmwBSoM27zDX5bQ4BDq4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237703},"main":"./dist/index.js","gitHead":"c9f3ce4273c9d25223fcdc76618af332983b9db6","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.4","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.4.3_1786043947817_0.8469638665684034","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"clawgram","version":"2.5.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.5.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"b37e5222b8283f41e399c1cc27a54a85b2fe8ac8","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.5.0.tgz","fileCount":24,"integrity":"sha512-IAIyCqfNp41rAF4/9EQ78x78opRwsnPjt1HiU1PIEozIeSzJhuz3ZbhjcgutiKKZZsi0nP0uVNIsimnIl9Lp2Q==","signatures":[{"sig":"MEYCIQDusaQA4KrTKKGc6YuOZz+6gYHTf7e9wcv66u4bSTW0GAIhANM/U8B/HTzatmb2Og0jVjqnyZvb59EbM/yX/QMNfx7D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":245967},"main":"./dist/index.js","gitHead":"cd5d08e5601c0cafb127d3ef6f262d61a588d9f6","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.5.0_1786103694098_0.21856362518381967","host":"s3://npm-registry-packages-npm-production"}},"2.5.1":{"name":"clawgram","version":"2.5.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.5.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"5587c5a18477d0da497ad23a688946d3f6431a97","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.5.1.tgz","fileCount":24,"integrity":"sha512-u1eUDzqz6L14vKcdM1H5bQxi10ulLolw+MM/ItPQ3CjibHlCA7yhZ4LJOgLsVbBu36PhnP97aTjvn+D7QyVehA==","signatures":[{"sig":"MEYCIQCadfP+EebvrE34MDyxMNsijCsk8kjgXagI+RblhCRcvAIhAJUOxszS/NCCNoms1G6My50SDSfiqRL7Imk8H8zaKvbn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247214},"main":"./dist/index.js","gitHead":"dc0e3f565a19e10f8f3690f78ef6eb1cd4a878b7","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.5.1_1786105248719_0.14716512447520524","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"clawgram","version":"2.6.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.6.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"732c6a6e9eef0c582d99cab5d57d8db2cef020db","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.6.0.tgz","fileCount":24,"integrity":"sha512-zQ171vm0nbQ0O12Qw2c71xXvLSkeKt8FLMlgxxZIMtsTlKjH0GuUvmr+k4qHW5rOllNhbxq9ykhFBRvxyCRK9Q==","signatures":[{"sig":"MEUCIA9/stlS0fJJD5VA/Plv1cKW+mESa3ZREeYxgyZgcGzpAiEAiBba8eobWF/hbmzDM83NNqsZh/E5Y4szLkpXbqud2Gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251915},"main":"./dist/index.js","gitHead":"30c477e19cee99e658041ca100a535174e781834","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.6.0_1786129667943_0.2566969791191547","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"clawgram","version":"2.6.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.6.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"c5fe10607ecb15fc30339cf96f5b41aae9f8ae9e","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.6.1.tgz","fileCount":24,"integrity":"sha512-8Owhw9695JlxEJXQ8vwdVBOJcJvonllFPE7uI0ZxMWNCbiZDtFalRs9sfqhngvQ37Qz1MhSfMfFz+nuEzCEhog==","signatures":[{"sig":"MEQCIGzgB5XUmiLh4/7rJPqMt4ssEhxrZlBBOeB6nRsMB/GvAiBmeNqwz1X/5AyflS5eSfXj7uwjnyS4XJNBmpyaCym8Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":252166},"main":"./dist/index.js","gitHead":"ea542e4debc1f81b091d6bf98360fc05f0208765","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.6.1_1786130227488_0.580257793378486","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"clawgram","version":"2.7.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.7.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"25d1ab3f52ecfae0d981cdc7b41a88fbfb4a43e7","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.7.0.tgz","fileCount":24,"integrity":"sha512-nWKcSaJQvx5cZFwwki2D5HvEuVm6u4evFM2+bY8xXwfN+7xEc4kFawwfneTGPVglH7WyCV+Fjh1XRZTQLRqyug==","signatures":[{"sig":"MEYCIQC7JqyCYHWpuljO9HtzoLyIClz/6ic6zvLzUUECISmUagIhAMErZT4AiGO00AoQI1eBLyC2Sw8UN+wCX5U8ybLCo9HO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":254558},"main":"./dist/index.js","gitHead":"089e18ea250aca1fda0764d5e2a6556d6f446fda","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.7.0_1786150228714_0.803252706582873","host":"s3://npm-registry-packages-npm-production"}},"2.7.1":{"name":"clawgram","version":"2.7.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.7.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"1b5822f1fdc252c26e34478bcba7e00056acc493","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.7.1.tgz","fileCount":24,"integrity":"sha512-GLxWI4XL1vZzFXI50t76TDwiReePZZ0tEto1taiUhAR2Mc2T8YhDLmKMBKUQhXIKdRlOoe9yHz02RCtZPJqBSA==","signatures":[{"sig":"MEYCIQDpZSpHw4pG/nVNKY4MK/48cXusCZ5gy3lu2Z+5uVTb6gIhAJR11gxcxwAjAc5EiwcZFOJrPrAIV41P4cYTXmF1AfIg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257205},"main":"./dist/index.js","gitHead":"5746f6b83da0364693f183fb151f885f7dacd8d5","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.7.1_1786192292587_0.9148609691806249","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"clawgram","version":"2.8.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.8.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"2fa6700b72b23443edac08d06a26600fdcdff011","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.8.0.tgz","fileCount":24,"integrity":"sha512-No5pX/RxzsqZr1S9snIpQjPM7SW7fLS1Wq4mmoQ/hHgGctekAo7aqmkGUc9XUO6Ha4zpIDd9+syBTJQUgWscdw==","signatures":[{"sig":"MEUCIDyRGlhyQQ0Wuq/BlSE+M9jqioOus+Lqtoy9piwpRARfAiEA2fO0Kl2A+k7yynTjSK0HYsY14vhqVD9El8tsbIRJ80E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":260329},"main":"./dist/index.js","gitHead":"67c8ea7058bb750644506e3956ce4eb74a824d46","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.8.0_1786239343976_0.3422129803956826","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"clawgram","version":"2.8.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.8.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"d626f0fef4109fd429ffc386281319dce67742e3","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.8.1.tgz","fileCount":24,"integrity":"sha512-U5up3JZ3hmbGGQ2s01kD2qaJFx+3J2puk8WeuvrS9f+WuaYXRFz+5yA/88Mrey2NpVvJ3FDNxVoOyfjpX2h4Xg==","signatures":[{"sig":"MEUCIQDTIcX+R1SBoEtllUQsQeI5cY/P0M6H1EOmGoUKsgvRpgIgYSQrHomiHCUi9WUFSwMcA8DMpYkpOn66Yn+fauLvptM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":261107},"main":"./dist/index.js","gitHead":"325abd0f93ae57a352fd6105dcd6969db6ee8c76","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.8.1_1786239991664_0.10092584957381856","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"clawgram","version":"2.9.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.9.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"1b95b5b933e9fe3a8376358d21db46fff8cfd480","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.9.0.tgz","fileCount":24,"integrity":"sha512-zXxqpQKTC2WmUuaRT3sFdkl30vVs6FfqZgUjtpaVGcxLp4Oe6N0qRDDjGzsjwmf42KMpezSz4voGhHAnLAx6MA==","signatures":[{"sig":"MEUCIGVveyzQStqz1cXEeyq5BppMrzW3qOsME1MrBkgnUnHIAiEAxKu+Qsqn44mBQMIAvj5EfOprWI2z5/LpnOF5Jeu2HzQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":264182},"main":"./dist/index.js","gitHead":"82983742bdd1e9dd1a721cce22a5113615653855","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.9.0_1786240570981_0.32245106932548007","host":"s3://npm-registry-packages-npm-production"}},"2.10.0":{"name":"clawgram","version":"2.10.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.10.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"bd26f049b01044657ec7be32756287d78a28639e","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.10.0.tgz","fileCount":25,"integrity":"sha512-vKIydRlaPbNSbM9fxLxPMykTk9dxXWjSvL0mXf7hNlUswS4DW5sTPpCl49Gc4NsKQzAuulPvkJTxBv/zYxeMcA==","signatures":[{"sig":"MEUCIQCMOMhSsSwnlbeLMoaqftObjhulkrGuguQUHlr4qFxWnAIgV+ZNh9CUtjoiNw2eBx1w1BBdvfL2RpX3enPlU/0LUPg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":269616},"main":"./dist/index.js","gitHead":"eb1faf3236ec82d35a058eb7912135fd1d9ff57c","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.10.0_1786242003999_0.8239825679872417","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"clawgram","version":"2.10.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.10.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"eea8a0242fdfc1a730d4c52d0d5821ceb84b85ef","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.10.1.tgz","fileCount":25,"integrity":"sha512-+pwPcA2N/ezJZ1Y5VA0wD1KCcxc32vuGZf0ucInlyxyoABQ8/rspb3fe8gh3qYoSvfLpLe4yj6j1qhQIDoQQ9g==","signatures":[{"sig":"MEUCIQDKDkGqC0babmIJxVjqeHWWnYb2EnZyClgGoovV9qeU7wIgC1x2VsB5FWtoa7E/66ZzfssAu8kRYBUpXTDBVMdFUSc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":274989},"main":"./dist/index.js","gitHead":"ca53c56a7fdfefcbe9e4d35281d3ae836a384a56","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.10.1_1786275485726_0.26956272741034404","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"clawgram","version":"2.11.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.11.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"c1cd2eafb11e27c5e4104c1f14c6124878e0c797","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.11.0.tgz","fileCount":25,"integrity":"sha512-LNNxMjPT4ddINxYHEaRubHhNlKJh/j0IJCnBptCetGkB4YOr/Kup83AxmMvlIsFtyzGoU4oBmRUAVLL1uSS4mA==","signatures":[{"sig":"MEUCIAHfGsTXI54kVW9BOlceOB/BWwRRrCZgVHM9ojVq8Cv1AiEA5iF+AOfua/+9PuLlliQnmD/7ZJtmBQbHjdRnkV3UT08=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":275686},"main":"./dist/index.js","gitHead":"3d209a7be6fe977dca640656c52d5402df7fadec","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.11.0_1786276653120_0.33577154926067054","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"clawgram","version":"2.12.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.12.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"c296d17ef9883d9455f81eba03f93f0b6f454a8b","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.12.0.tgz","fileCount":26,"integrity":"sha512-akm16rFB2PYlqj1qZYnAOhsg4DC+FByJL3vjntEZW4FuGj858QFuuh2tvBOam52dKLyvpO3zesHU3Z19hDeADA==","signatures":[{"sig":"MEUCIQCre4zpE9zlJYBqHNTDy+daId1fA8gkiaaF6IvWF0SLvgIgJRJjUsxqcu/97Jc0B94glH5n25j6/7EbdacMw8b58w0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":318246},"main":"./dist/index.js","gitHead":"05cff8c90034c9dc79ce7dfe863b1e4fef796a1e","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.12.0_1786279426325_0.547558902864046","host":"s3://npm-registry-packages-npm-production"}},"2.12.1":{"name":"clawgram","version":"2.12.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.12.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"702121fed81a24dd8f9665673473dcdcc9c86bf6","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.12.1.tgz","fileCount":26,"integrity":"sha512-ccbNjiL/FS59Jh4Ujjq6+uKwFKGZarmtvRH1r81VGPw4hGU2CyDsHLqfifXoDUo5pHrttaWcubEWwfJTTStvvw==","signatures":[{"sig":"MEYCIQDjW8D4578ekzRqEL19abHQ8NF2+7BrUn0ASyfSN5B7HQIhALIwH2azdYjtms/i4ohFpeddMe2i6kFbI9d6sWhIXIV9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.12.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":319084},"main":"./dist/index.js","gitHead":"c16d45b9789a54d435c7bf9807bacb2e65c9ff71","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.12.1_1786280386094_0.3961182406777779","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"clawgram","version":"2.13.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.13.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"0ac5c2b702d482ee7a85a259b47d48e8647b331c","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.13.0.tgz","fileCount":26,"integrity":"sha512-7HODh/f4dG9LakXV1v4M5mvm4JnFqVpwMVWJAFr+mEriETtPiG292bzHblGHE0D83Jfad+ev+D0WSRlvuF3Hog==","signatures":[{"sig":"MEQCIDxYVj4+hRTcKGqT7r50jrDSFu0atVLEfRoB4+rK0UlJAiAQ1lFdXl570a1cmB8niqqsTSutwm2nn2qfch6qXPJWTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":320720},"main":"./dist/index.js","gitHead":"700540b10bc63760c0e6d4091dfa53c2f04ba3d2","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.13.0_1786317077584_0.978980765186221","host":"s3://npm-registry-packages-npm-production"}},"2.13.1":{"name":"clawgram","version":"2.13.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.13.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"b4f4fe541226471a4ec3958534c84f7ce0b9c28f","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.13.1.tgz","fileCount":26,"integrity":"sha512-PKbV5nOe2iBrHv/S2G55phA6XxKt3WLdeWZgvI07gbUoEcHsZ7Ic+9ITUEwnk++UZrS/7p+WFP3AQPTusnCqcw==","signatures":[{"sig":"MEUCIQCgB2Pa5EMuaon93pFSyyn8PrIDwmvkAwLUWaAmkANb0wIgR0+gpdjq5dys6b0/hWm4LbXk7ROJxNo3JKDc+/B34+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.13.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":322045},"main":"./dist/index.js","gitHead":"c5e1e73ca134d48a0e90fba1d63d06789bb39430","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.13.1_1786330483929_0.8982535630841206","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"clawgram","version":"2.14.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.14.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"59d26e65cf09b787d2304310b1dd699ac4f06a2a","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.14.0.tgz","fileCount":26,"integrity":"sha512-ADGejAawbmPBtMwRCRMAPcwJWzmQfFOICG9pBpK7onFg2GQIFDP09yDNm2mi6tk8Y5aZ8Xu3ITfP7QXirX8GwQ==","signatures":[{"sig":"MEUCIGAHLlNuDm73fcArNY968g0P7jztV7KskBm6fSpQAB7mAiEApxRUj31iliFMfTBV8P1g0wuAUkhQXGQGoQaZ57mbIQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":327385},"main":"./dist/index.js","gitHead":"ab5ec17213269b2b4408facbc14f248f2868cf06","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.1","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.14.0_1786366349864_0.283349211254154","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"clawgram","version":"2.15.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.15.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"a0cf1cb60b67c3a5e6e7f7761d830ec84032f65c","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.15.0.tgz","fileCount":27,"integrity":"sha512-lJGfCkFHVHHlPt7MKPaXoE8N5DPuKLrflNQIq1Ub51PhtZOGQYe5SluMyiP1iQ5GWswLyadZ56+dgvWNspy2Tg==","signatures":[{"sig":"MEYCIQDFrnq7oDLvC3hAz8DoXNHBw2DIxMOGXgihrSSCShABXwIhAJbWcgVWkMuAJevBCKb6hA6T+6mEEo8zFFWt14YqQVuX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":348544},"main":"./dist/index.js","gitHead":"a6e3f5af4f053b0c53024c907ee1650839f76a30","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.15.0_1786496811891_0.15479480056274264","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"clawgram","version":"2.17.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.17.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"99edb018626a9d94d20d39b09b50dcb1ae1a1c37","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.17.0.tgz","fileCount":30,"integrity":"sha512-nC9rhr+zOZ565JrQIMpS8mxNGosgga+C7oLQ6FpSn8Q4ML+hQGoOTe6q3Q8i+cn0BrEQvQw+XAcsabXwPf1kmw==","signatures":[{"sig":"MEUCIQDVL9vwkOygvCBcIPqR7kUjl7qpGRo3EKuBqeX95ag8HwIgTXkYqY4ZblrDlF15JMVwe2RHq/fhl/h4wxZWjX5wHnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":380644},"main":"./dist/index.js","gitHead":"4f071611de822e5b272aa4f37b5930fb3e5f6253","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.17.0_1786786543808_0.9686010992785428","host":"s3://npm-registry-packages-npm-production"}},"2.17.1":{"name":"clawgram","version":"2.17.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.17.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"382abf39f0e5e3adeb5d67c5e4626fd05e92dc32","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.17.1.tgz","fileCount":30,"integrity":"sha512-fdO9qj6g2kFLCoBbhKMpPrnUPsmiT+MUC588heuP5SVOuhdRvEjcDkdaKog8QLeUhzXvjQjBdh3mSYDBBxYFBA==","signatures":[{"sig":"MEUCIQDoof9VmpNWSMt7tho6miJcLdpN88Afsq4Ig+oM0dse9AIgLn5fI3dVvpOezeoZYT8n24xGsNJXdY9YpSOzvRFVQVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":381430},"main":"./dist/index.js","gitHead":"25b1ee9223608e3e8b8d5ae577eed0a3883b1403","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.17.1_1786791377970_0.5169301834699078","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"clawgram","version":"2.18.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.18.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"ccbb811eed92114c713a91458372c535acdaf506","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.18.0.tgz","fileCount":30,"integrity":"sha512-Uf0aPrEa398GmTxQT0U7aDFa2hNdzNNcXnN1xeWqV2qLDcBgbfcl4uHPA/uiShhm6pY8BAlJ51aSI082IPRfMw==","signatures":[{"sig":"MEYCIQCjVZHg7Uwh+CdeoAcEuReMi63QgsSUWsZqMWYZ55qruwIhAJ67orfNpPU8lbj+H13n8FHtPVn9Z9rSCkOBZVMeNTKY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":389643},"main":"./dist/index.js","gitHead":"f4738d845aa1550998d762a7ee5521310bca6959","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.18.0_1786974157914_0.03879860663392498","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"clawgram","version":"2.19.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.19.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"3155bb2113b3077ca1e4c1965ded616d4a30b09a","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.19.0.tgz","fileCount":31,"integrity":"sha512-1H5EH46VDiMED41wwSGLabrWeY5wQsH6qWQ9qb6fZ9NNtyxaXzUuPL09UTJdYwZzyya21p26QaVY/Hkh9HsL3g==","signatures":[{"sig":"MEUCIQCpxe12imS+3vy0hm3IbPt/mUEIAw2Jy+uTxI0BhQ9kIwIgST0ryt8vRIikeJcfcqm5X8+zR97Z+7e5i/75tuXTt9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":411865},"main":"./dist/index.js","gitHead":"e0f088146c565f86357a81bf55650529745abcd7","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.19.0_1787584223055_0.414859684537096","host":"s3://npm-registry-packages-npm-production"}},"2.19.1":{"name":"clawgram","version":"2.19.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.19.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"0179905d27cb80a4dfe381a126024d2f8a903c8e","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.19.1.tgz","fileCount":31,"integrity":"sha512-Rr+G0YC35y0TBizt9S/GKHzfna7H84hbpL0cBqYfEJsV8ytNZfIzHW8/5pj9SMP3tylJpYHgNob8NbByNm1irQ==","signatures":[{"sig":"MEQCIBlh83UazH7avwJD3QvoWSjxpu7xhqDdVBgQRuGpkqULAiAHDNfr5EI8E5QdbduGegx9XKs3ozqTk8JxPbn/Wx3R7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.19.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":414599},"main":"./dist/index.js","gitHead":"f9b4be4245e7e0f5846b945a7c0b27713532e305","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.19.1_1787585127306_0.6129659035559558","host":"s3://npm-registry-packages-npm-production"}},"2.19.3":{"name":"clawgram","version":"2.19.3","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.19.3","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"3b53624bcf5b3f7f0f5c6663b9fca441ced694f1","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.19.3.tgz","fileCount":31,"integrity":"sha512-pw+cTAfE3TzOAMd9R9JrCCl2I5bFLVEpuzfbJCumuWR2EAa2ExQn/AJh/zX8rNWErc0v/Cbl5yomoHKSLCu7zw==","signatures":[{"sig":"MEUCICVZVvgORdxSxaSDC1rElO7klHZoSyfku+mKwagOc5hJAiEAkun/YuRKAdrxd2agS1q5eSgUK4z6aRpF0d450bAi/EE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.19.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":417405},"main":"./dist/index.js","gitHead":"b47e8d5f16130b0bdd82662d57e8aefc0f5f42fc","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.19.3_1788135768133_0.047001820490174984","host":"s3://npm-registry-packages-npm-production"}},"2.19.4":{"name":"clawgram","version":"2.19.4","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.19.4","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"f7e40339bdcfdd4e51743c140f67b6656396c13d","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.19.4.tgz","fileCount":31,"integrity":"sha512-FqGqw7jSEZRRQbmj/MA0ajM5bX/mGHy/JJ1RFUmPoWCJUYwNBokIxsK7LEIeRhnSxbSY5KjQRLT+m2hwmHEiTA==","signatures":[{"sig":"MEYCIQDa9O7Bsr+iuQfJeP+SxISj+jymQTo5sM66VFLG81vA1QIhAPOF8DHEc/I3n0Gmke2zDkkNdn62Mbah37FxYLCusqpD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.19.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":418874},"main":"./dist/index.js","gitHead":"02154cf2f7e2a17694979a56b9eea7340fc889ad","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.19.4_1788204515661_0.44330089682625284","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"clawgram","version":"2.20.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.20.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"cb8cb9ac897acb3d68de949368ea83fd29955f42","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.20.0.tgz","fileCount":32,"integrity":"sha512-Fn4X31jcStVxt5te/ga5OaYMHgmOHjGlzSCRk0qSmKFfYNV2HdOTjaNLSuIz3CbUoVCxzTqZ97sPHr4rbRRUQg==","signatures":[{"sig":"MEUCIQCVTuMOjMTakz2UFhjsqNa+2tbqWgwNpqfa+soT+W+lHwIgTVLkl8TIEZd4u5/RYF7W2PTO2+Sj4jjuDnS69LrBZUY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":423316},"main":"./dist/index.js","gitHead":"88209cf77ddf6ecbac48bdcc1f8fc42fe297e4d2","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.20.0_1788214404706_0.2823434458249414","host":"s3://npm-registry-packages-npm-production"}},"2.20.2":{"name":"clawgram","version":"2.20.2","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.20.2","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"633bc36e59eec066c9af86ede6740a0eb81c4e06","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.20.2.tgz","fileCount":32,"integrity":"sha512-KfSFfR78ehwnTgppmLqVFqPaA6SOUdZ1qnnsR6JzdIEwA+Vkd6PCMmWKyv8KZ74KqDKWfwSvpA8720JgRXh7ug==","signatures":[{"sig":"MEUCIQDGkmt+aWtAFb0hlJ65GDHxHHRWGHnTMpYNZqHY1Gg13gIgGHKf8Tm+cgdjs5ZiE9I8AYKLDuaSHgtCgZYmueCHg9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.20.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":426368},"main":"./dist/index.js","gitHead":"de6d2e23484b43832009f8643724735df468f866","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.20.2_1788369511959_0.9314666765544592","host":"s3://npm-registry-packages-npm-production"}},"2.21.0":{"name":"clawgram","version":"2.21.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.21.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"998ccf0b88bf427c8c9c2ae3a2611d22d3a18111","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.21.0.tgz","fileCount":32,"integrity":"sha512-ElzPLtYVjE52YZjKc3VNeEOhivwiOAsKBtgyXMkTq3sd8bej4BBorhZdfsdq7U0yEPHaBwP9GMVKFcMG4orUlw==","signatures":[{"sig":"MEMCHzElARb4ki7LHHOIEzQCUh/+pC9ap6am6VrTiQvwsmECIExHSiKl0gwT1YmvUaEDcxLqQpmxTnif988vksNj7iJS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":444968},"main":"./dist/index.js","gitHead":"db1b3435d8dbe771b905207a5639ae07d4b8071a","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.21.0_1788479444938_0.15251385427251618","host":"s3://npm-registry-packages-npm-production"}},"2.21.1":{"name":"clawgram","version":"2.21.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.21.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"bdcfcdf7a84c8bd5be73550bb7f6a44210130c3e","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.21.1.tgz","fileCount":32,"integrity":"sha512-4nx/cSrPKhhhOUE/tOjXkokV9gFtXbTChgBk+kLCApmXC7Q88o6/5RU76EF10FGN6DNzW9FFs8ptREzkIh5WRQ==","signatures":[{"sig":"MEYCIQDL3KRjItnJlqGJK7I0TUuyQEaFz7B6cQhQB1/O0RZP/QIhAOn755RHLd0n+k1hNlNH/sKLcK4voYPpw1M4XN1sBnpJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":445450},"main":"./dist/index.js","gitHead":"7b585212983dd21712e7cf4b262576cb96ae505b","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"^2.2.3","telegram":"^2.26.22"},"_hasShrinkwrap":false,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.21.1_1788551420547_0.827571913840417","host":"s3://npm-registry-packages-npm-production"}},"2.22.0":{"name":"clawgram","version":"2.22.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.22.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"f2b5c226a38990146e24481dec36fb5f3dfc2cc2","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.22.0.tgz","fileCount":37,"integrity":"sha512-etrnpWS3l1CMbRibEYx19abGTxnQwkLhrl782XfXcpgK7nfQdASIP59q9DqeQ0JXI+GQ/be2Da4nebThkBMJpA==","signatures":[{"sig":"MEUCIHPxyPjI9yLtBq07QoOQIkzdfe6JmNNHe4YYI5Rs1MYQAiEAoxRflFUIuCiL7HX7K/g1rdmBm5IZNWYdfTgUpR7PETY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":678939},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"9d7e354758b18f36301ac4ca9247da1786fce37f","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.22.0_1788653636605_0.2843111896539834","host":"s3://npm-registry-packages-npm-production"}},"2.23.0":{"name":"clawgram","version":"2.23.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.23.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"12b83e5d45baafc736a56f9ad57c96dca8215720","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.23.0.tgz","fileCount":40,"integrity":"sha512-aQNzTFspZ/8e2kM2aMPaGeUarAWsSBLFqnvSPNb5V+w0VVvI0cFNqXw5dvlj71KZgNt+Nm6VY7PZlL3geZhbwQ==","signatures":[{"sig":"MEQCIDFk8pbBmvkM99ml7BN41qBtI7shfl44QWjGHm8NU+V7AiAwYvBYWyCnLWPGDg8M1lrYE5yP8bjQ0uaPyhEcang+YQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.23.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":679493},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"447b69924ef9f9c37e07968dd6b49ab6f88fe818","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.23.0_1788662335074_0.9524236722992081","host":"s3://npm-registry-packages-npm-production"}},"2.24.0":{"name":"clawgram","version":"2.24.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.24.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"aeb84c85f53100eca51776cccaf0e4e7a50ebf66","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.24.0.tgz","fileCount":41,"integrity":"sha512-TJv4VTOLaV8KWHQnQdnVMB9CCwATkweB8IqadmngjmPoZPFlwS8rVOhyWh0kvnfVmO/ed8Jspaff9OuZaW5lqA==","signatures":[{"sig":"MEUCIQCMfMMah8FLSf7/Sf4K3V49fbgD03OICt1E3CSl8zKvOwIgHf0lZlW9BxsjDdaNsG7cRyc8apLJ9F9UBEaN/vQIcHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.24.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":669076},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"17900ff8aed75586692c9eb4549a90f483ace689","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.24.0_1788665243822_0.39005072880517844","host":"s3://npm-registry-packages-npm-production"}},"2.25.0":{"name":"clawgram","version":"2.25.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.25.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"ffc0673d303473566e110fa93373ce8d71bba289","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.25.0.tgz","fileCount":42,"integrity":"sha512-pJ38Xem4yUDOWM4bmsGrLXFpS3TOnd7FKaPrrMMjkfXNZISj9y/t/3mIjZKFGcQLxdL+Veisc5bxL6rw129SUw==","signatures":[{"sig":"MEUCIAiFfCyOpMiF+YGApo19PiaDiyw6P7PgI5u3NMRuA8G/AiEA18wjKSXG9nsq6WURr0hDlUGqGGOzd0iy/n3HYKMENbc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.25.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":679002},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"e2b57f96eaaf729cf33467c24a9e8d5f3170e9f2","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.25.0_1788723478999_0.631923929698204","host":"s3://npm-registry-packages-npm-production"}},"2.26.0":{"name":"clawgram","version":"2.26.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.26.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"c0ea25de8e47dfbc54c9c2bb7257ec0fda6a81d1","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.26.0.tgz","fileCount":43,"integrity":"sha512-nM7KwhsRWDuf8ETWVJV16A6Hm2mUbz7DWw4/TXFaCNcSgMDSQ42watwQvhPAfHiarO7ThW+6Gh81nSaLRUNZBA==","signatures":[{"sig":"MEQCIHpR0waYJkksPW7ze0bKCqsX6ew5KIaasZASUDh9XbKKAiAzPWF31TmEmdSAgSIPK/QrDaJoYUrJaem7zKTbgCJSTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.26.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":678859},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"df082239a367a94d16cbf0934a2f37e5d69280ae","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.26.0_1788737994501_0.21530036303706002","host":"s3://npm-registry-packages-npm-production"}},"2.26.1":{"name":"clawgram","version":"2.26.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.26.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"7032eb87d70f8d51dbc4aafd8140650df4ad6148","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.26.1.tgz","fileCount":48,"integrity":"sha512-kPd7mh68ZWHwZX6QUNVK2duiaPC/T2YilXAZ/gIhAOgJH3N3eacltKtc1e7v1JIXXtLx+J5ZkR4A5QJlosaQwA==","signatures":[{"sig":"MEUCIBXf1jOTTd+6sSvTHexWhldETUFjPJmE57MqcGdIF9/FAiEA4bAKg+2En7K7ghlzsyYcCBRHGE3soW7kH5o6p3LgKws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.26.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":673478},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"62bad3ec5fdd6b0cc342a46ba622a10c578b7afe","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.26.1_1788741028928_0.6753927987540027","host":"s3://npm-registry-packages-npm-production"}},"2.27.0":{"name":"clawgram","version":"2.27.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.27.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"4951a73889f56a09872c909ab2092c3d153e8f37","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.27.0.tgz","fileCount":48,"integrity":"sha512-PCor5FNzUotl1iTuLB2OR6vN/MmoWAVTU5BrAXdtJcU1ru05OEkoUBZ1RqvD6x7vX3Pyhnihkpbj1xKl5MyMJA==","signatures":[{"sig":"MEQCIHpJttX435XmrukmgIB3mQDM+lcbHhXl76IJgjpAd6/eAiBSsMxQAI1kFb8kpSaeahqMJoiAP4rQFiReEjMxmrTlOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.27.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":677545},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"016699f8b42dab5faef922109126a12f6008482e","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.27.0_1788812644553_0.8400440926971091","host":"s3://npm-registry-packages-npm-production"}},"2.28.0":{"name":"clawgram","version":"2.28.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.28.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"59864dccbb75ce55f3fd09202ec01e8e11537c39","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.28.0.tgz","fileCount":48,"integrity":"sha512-rpy99ihBVS/CutEh/6z5sQzD8W9FQztpPIG6lTH8rO8UHAVvzYMmDq+DQNzS/cbNiNork5XDSkzAfkpUmfEdlQ==","signatures":[{"sig":"MEYCIQDE13PsvIoXWtcL0zaTJGLht3eebzWeYeqXfa35StF3YQIhAOY/K+fYR4xLdOz8juZWM7rYRisPF9o0P6otX2/7HZlz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.28.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":681357},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"040844d8cb4b9c6ec6fa8fcb21c35982652cd5ec","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.28.0_1788824668135_0.8760101091959862","host":"s3://npm-registry-packages-npm-production"}},"2.28.1":{"name":"clawgram","version":"2.28.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.28.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"b32cda4390d4d430058639de63af20b1b641c275","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.28.1.tgz","fileCount":49,"integrity":"sha512-FsJGkfznOMbMSAyBiYaaDiIuFP+i6UvToj7KTp7GQwDNitrwKiOA7+0zZZj45f18DNd1ktola0sRVwwAG6Rfwg==","signatures":[{"sig":"MEUCICS28p0e1gj4vsuXguiFcb3LZHZi5MrhGXhXMcWe08hBAiEAwRvN5XF58hnuaqjIHSgsMJiwsu2iHDqQU7We7MedbP4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.28.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":690835},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"e78e1b9836f75a5ab77b9af252aa57ddfc4f7005","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.28.1_1789418792072_0.8532571201421917","host":"s3://npm-registry-packages-npm-production"}},"2.29.0":{"name":"clawgram","version":"2.29.0","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.29.0","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"8f56fb715c0ca7e59b17cc17896f0f36b210ebf5","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.29.0.tgz","fileCount":50,"integrity":"sha512-hnHzZ71/QNAzdh9qTGBpgs7TbDSbIeLndzjjdz2sRq9N0ajfeasKmbizl/F0RCbFYABnwoKQMVIaXthZ4WUuLg==","signatures":[{"sig":"MEUCIQD1+4mW58wtDKHPZd0oJX6cXpebBfaNrpmqkiifTFW9BgIgJcmfn0CUUXMrDmHGF5Y+Yz4lebYhlUJPwUaN0VkXanM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.29.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":698861},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"98259f6d45b9533b99d3284d273a8cd1c8fbad47","scripts":{"test":"npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.29.0_1789502087819_0.9882331903037957","host":"s3://npm-registry-packages-npm-production"}},"2.29.1":{"name":"clawgram","version":"2.29.1","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","_id":"clawgram@2.29.1","maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"homepage":"https://github.com/d3pre5s/clawgram#readme","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"e471cf1eca5d1a28f8fbb3ce8acf292bfb5ad71b","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.29.1.tgz","fileCount":50,"integrity":"sha512-Z83j42dPh/mN2BQp9xS+HsnhChae0HoXSNofL14tRSiFUbsrc+IQoDKd6OQtbnuoqP6rm5Cu9TeVmSXedhOXGQ==","signatures":[{"sig":"MEUCIC9n2O2uktmy/GYveXHGQAk/Z+nujEK/RBPVBhgD8fwCAiEA2ANeLa4AU3ud4CvdC0Dvjiq9XKRgNiGivgZEq9ripTM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDEJUusgN9sTSh6p5fe8+OsLYdaGTVcRTuxdsARCJohpAIhAJdVZ/xDuR/p/xl2P50jXUa/eo2QDNiktzM3ckYny+GK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.29.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":701337},"main":"./dist/index.js","engines":{"node":">=22.22.3"},"gitHead":"b5bf8eeaa9c92b8467d0cd7150d2b1d5600c466f","scripts":{"test":"node scripts/check-pii.mjs && npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","check:pii":"node scripts/check-pii.mjs","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"_nodeVersion":"22.23.2","dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"tmp":"tmp/clawgram_2.29.1_1790212425433_0.5417066264170876","host":"s3://npm-registry-packages-npm-production"}},"2.29.2":{"_id":"clawgram@2.29.2","bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"dist":{"shasum":"00d3c77cadd7225ab74c946711bddc196755109b","tarball":"https://registry.npmjs.org/clawgram/-/clawgram-2.29.2.tgz","fileCount":50,"integrity":"sha512-NY9vuAiOjHWXUhcwRsdsJL39jgUu4+X1QR7BDlAhx+LuUYE/lKou4HGTIn0NHBcZdHBjB+ryOvZmX60no50NAA==","signatures":[{"sig":"MEUCIQC0QnAgplsBfOLckIoVBJjpz8AIgescNgUxpoowNzxw4QIgc2O+qXBtOoUhKYb4re2LcZuXzySTquIV+MnMRh1rCd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDa2mckYPQmdmU4c5ObQHnJlRkPIS3J0H4sMgxn7TPXrQIhAMDo4E5xHvrMz6oiILPXpoMjOam8PL4wFMnL5M9oTGFF"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/clawgram@2.29.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":704156},"main":"./dist/index.js","name":"clawgram","author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"engines":{"node":">=22.22.3"},"gitHead":"2cf92c3d6d330d8389fc4ea4f5d35d367b809397","license":"MIT","scripts":{"test":"node scripts/check-pii.mjs && npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"","build":"tsc -p tsconfig.json","check:pii":"node scripts/check-pii.mjs","build:test":"tsc -p tsconfig.test.json","clawgram-cli":"node dist/clawgram-cli.js","verify:proxy":"node scripts/verify/gramjs-wiring.cjs && node scripts/verify/auth-preserves-proxy.cjs","prepublishOnly":"npm run build && npm test","verify:actions":"node scripts/verify/action-probe.cjs","release:clawhub":"node scripts/publish-clawhub.mjs","clawgram-cli:auth":"node dist/clawgram-cli.js --auth","clawgram-cli:hello":"node dist/clawgram-cli.js --hello"},"version":"2.29.2","_npmUser":{"name":"deusops","email":"konstantin@deusops.com"},"homepage":"https://github.com/d3pre5s/clawgram#readme","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"openclaw":{"build":{"openclawVersion":"2026.7.1-2","pluginSdkVersion":"2026.7.1-2"},"compat":{"pluginApi":">=2026.5.26","minGatewayVersion":"2026.5.26"},"extensions":["./dist/index.js"]},"overrides":{"ip-address":"10.7.0"},"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"_npmVersion":"10.9.8","description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","directories":{},"maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"_nodeVersion":"22.23.2","contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"dependencies":{"json5":"2.2.3","telegram":"2.26.22"},"_hasShrinkwrap":true,"devDependencies":{"openclaw":"2026.7.1-2","typescript":"^5.9.3","@types/node":"^22"},"peerDependencies":{"openclaw":">=2026.5.26"},"installDependencies":true,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/clawgram_2.29.2_1790220295095_0.015455254086253145"}}},"time":{"created":"2026-08-02T21:11:15.746Z","modified":"2026-09-24T03:24:55.521Z","2.0.0":"2026-08-02T21:11:15.970Z","2.1.0":"2026-08-02T22:47:59.186Z","2.2.0":"2026-08-03T10:32:33.630Z","2.2.1":"2026-08-03T11:52:33.753Z","2.2.2":"2026-08-03T16:03:37.738Z","2.3.0":"2026-08-05T23:12:34.632Z","2.3.1":"2026-08-05T23:33:09.947Z","2.3.2":"2026-08-05T23:36:59.983Z","2.3.3":"2026-08-05T23:48:58.050Z","2.4.0":"2026-08-06T02:14:33.596Z","2.4.1":"2026-08-06T17:24:05.068Z","2.4.2":"2026-08-06T18:39:26.904Z","2.4.3":"2026-08-06T19:19:07.987Z","2.5.0":"2026-08-07T11:54:54.265Z","2.5.1":"2026-08-07T12:20:48.852Z","2.6.0":"2026-08-07T19:07:48.084Z","2.6.1":"2026-08-07T19:17:07.674Z","2.7.0":"2026-08-08T00:50:28.866Z","2.7.1":"2026-08-08T12:31:32.737Z","2.8.0":"2026-08-09T01:35:44.117Z","2.8.1":"2026-08-09T01:46:31.804Z","2.9.0":"2026-08-09T01:56:11.127Z","2.10.0":"2026-08-09T02:20:04.168Z","2.10.1":"2026-08-09T11:38:05.900Z","2.11.0":"2026-08-09T11:57:33.278Z","2.12.0":"2026-08-09T12:43:46.493Z","2.12.1":"2026-08-09T12:59:46.261Z","2.13.0":"2026-08-09T23:11:17.731Z","2.13.1":"2026-08-10T02:54:44.073Z","2.14.0":"2026-08-10T12:52:30.089Z","2.15.0":"2026-08-12T01:06:52.041Z","2.17.0":"2026-08-15T09:35:43.961Z","2.17.1":"2026-08-15T10:56:18.125Z","2.18.0":"2026-08-17T13:42:38.076Z","2.19.0":"2026-08-24T15:10:23.271Z","2.19.1":"2026-08-24T15:25:27.465Z","2.19.3":"2026-08-31T00:22:48.285Z","2.19.4":"2026-08-31T19:28:35.827Z","2.20.0":"2026-08-31T22:13:24.860Z","2.20.2":"2026-09-02T17:18:32.113Z","2.21.0":"2026-09-03T23:50:45.076Z","2.21.1":"2026-09-04T19:50:20.686Z","2.22.0":"2026-09-06T00:13:56.780Z","2.23.0":"2026-09-06T02:38:55.211Z","2.24.0":"2026-09-06T03:27:23.964Z","2.25.0":"2026-09-06T19:37:59.190Z","2.26.0":"2026-09-06T23:39:54.648Z","2.26.1":"2026-09-07T00:30:29.078Z","2.27.0":"2026-09-07T20:24:04.705Z","2.28.0":"2026-09-07T23:44:28.273Z","2.28.1":"2026-09-14T20:46:32.229Z","2.29.0":"2026-09-15T19:54:47.958Z","2.29.1":"2026-09-24T01:13:45.519Z","2.29.2":"2026-09-24T03:24:55.200Z"},"bugs":{"url":"https://github.com/d3pre5s/clawgram/issues"},"author":{"url":"d3pre5s","name":"Konstantin Dipezh"},"license":"MIT","homepage":"https://github.com/d3pre5s/clawgram#readme","keywords":["clawgram","openclaw","telegram","userbot","mtproto","gramjs","plugin","channel"],"repository":{"url":"git+https://github.com/d3pre5s/clawgram.git","type":"git"},"description":"Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.","contributors":[{"url":"original author of telegram-userbot","name":"eldaruma"}],"maintainers":[{"name":"deusops","email":"konstantin@deusops.com"}],"readme":"# Clawgram\n\nClawgram is a personal-Telegram channel plugin for [OpenClaw](https://github.com/openclaw/openclaw) — it connects as a regular Telegram user account (not a bot) via MTProto using [GramJS](https://github.com/gram-js/gramjs). Your AI assistant reads and responds as you.\n\n> Clawgram is the actively maintained continuation of\n> [eldaruma/telegram-userbot](https://github.com/eldaruma/telegram-userbot) (MIT).\n>\n> **Breaking change in 2.0.0:** the plugin id and channel name changed from\n> `telegram-userbot` to `clawgram`. When upgrading from 1.x (or from the\n> original telegram-userbot), rename the `channels.telegram-userbot` section of\n> `openclaw.json` to `channels.clawgram` (contents stay as-is), update any\n> `plugins.allow` entry, and replace `telegram-userbot:<target>` address\n> prefixes with `clawgram:<target>`. Then restart the Gateway.\n\n> **WARNING**: Using a user account for automated messaging may violate Telegram's Terms of Service. Use a dedicated secondary account. Your account could be banned or restricted.\n\n> **What this plugin can do with your account.** It logs in as a *full Telegram user*, not a bot:\n> it can read private and group conversations within its configured scope and send messages that are\n> indistinguishable from ones you typed yourself. Recipients cannot tell an assistant reply from a\n> human one. Treat the account as compromised-if-leaked: `apiHash` and `sessionString` are bearer\n> credentials for everything that account can reach. Scope reads with `readChats`, scope sends with\n> `sendChats`, gate senders with `allowFrom`, and prefer a dedicated account over your primary one —\n> see [Security and privacy](#security-and-privacy).\n\n\n## Features\n\n- **MTProto Client API** — operates as a user account, not a bot\n- **DM & Group support** — private chats, groups, supergroups, forum topics\n- **Forum topic routing** — correctly routes replies to the right forum topic thread\n- **@Mention detection** — respond only when mentioned in groups (text, caption, and ID-based mentions)\n- **Read receipts** — mark messages as read\n- **Emoji reactions** — acknowledge a message with a reaction instead of a reply (`react` action)\n- **Editing what was sent** — rewrite the account's own message in place instead of posting a correction beneath it (`edit` action)\n- **Chat metadata** — title, type, member count, description, forum flag and pinned message (`chatInfo` action)\n- **Attachments on demand** — fetch the photo or voice note on any message in read scope, as a reading, a file, or both (`fetch-media` action)\n- **Chat management** — create supergroups, add/remove members, promote/demote admins, transfer ownership, export invite links (`createGroup`, `addMembers`, `removeMember`, `promoteAdmin`, `demoteAdmin`, `transferOwnership`, `inviteLink`) — off until `manageChats` allows it\n- **User allowlist** — control which user has access to send messages for direct\n- **Chat allowlist** — control which chats the assistant can access\n- **Multi-account** — run multiple Telegram accounts simultaneously\n- **Per-group settings** — different behavior for different groups\n- **SOCKS4/SOCKS5 proxy** — optional native MTProto proxy per account\n- **Slash commands** — [slash commands](https://docs.openclaw.ai/tools/slash-commands) are available in DM to the connected account (`/status`, `/reset`, `/new`, etc.)\n\n\n## Requirements\n\n- OpenClaw >= 2026.5.26 — earlier releases carry published high-severity advisories\n  (among them a pairing-scoped session that could restore revoked node-token authority, fixed in\n  `2026.5.26`). Since this plugin reads messages and acts on an account, running it on a vulnerable\n  Gateway widens the blast radius, so 2.1.0 refuses to install below that version. Built and tested\n  against `2026.7.1-2`.\n- Telegram API credentials from [my.telegram.org](https://my.telegram.org)\n- Node.js >= 22\n\n## Installation\n\n```bash\n# from npm (default resolution)\nopenclaw plugins install clawgram\n\n# or explicitly from ClawHub\nopenclaw plugins install clawhub:clawgram\n```\n\n## Setup\n\n### 1. Get Telegram API credentials\n\n- Go to https://my.telegram.org\n- Log in with your phone number\n- Go to \"API development tools\"\n- Create a new application\n- Copy the `api_id` and `api_hash`\n\n\n### 2. Log in to your telegram account\n\nLog in to your telegram account via cli using API credentials and phone number\n\n```bash\nopenclaw clawgram --auth\n```\n\nIf the custom OpenClaw cli command hangs, run the standalone authorization script directly:\n\n```bash\nnode ~/.openclaw/extensions/clawgram/dist/clawgram-cli.js --auth\n```\n\n> **NOTES**: Starting with OpenClaw `2026.5.12`, hangs have been observed in some environments when running custom plugin cli commands through `openclaw <plugin command> ...`. If that happens, use the standalone command above. It runs the same authorization flow, but bypasses the custom cli entrypoint inside OpenClaw.\n\nFollow the steps in the console\n\n```bash\nStarting Clawgram authorization...\nPlease enter your apiId: 12345678\nPlease enter your apiHash: EXAMPLE0123456789abcdef01234567\n[2026-05-10T16:01:24.570] [INFO] - [Running gramJS version 2.26.21]\n[2026-05-10T16:01:24.578] [INFO] - [Connecting to x.x.x.x:80/TCPFull...]\n[2026-05-10T16:01:25.804] [INFO] - [Connection to x.x.x.x:80/TCPFull complete!]\n[2026-05-10T16:01:25.808] [INFO] - [Using LAYER 198 for initial connect]\nPlease enter your number: +1 XXX XXX XXXX\nPlease enter the code you received: 12345\n[2026-05-10T16:01:56.384] [INFO] - [Signed in successfully as <USER>]\n[2026-05-10T16:01:56.388] [WARN] - [Disconnecting...]\n[2026-05-10T16:01:56.390] [INFO] - [Disconnecting from x.x.x.x:80/TCPFull...]\nTelegram authorization completed successfully.\n\nSession string received (352 chars) — kept out of this output.\n```\n\n> Since 2.1.0 the session string is **not** printed after a successful login: it is a bearer\n> credential for the whole account, and stdout ends up in scrollback, CI logs and screen shares.\n> It is written straight into `openclaw.json`, and only shown — behind an explicit warning — if you\n> decline the automatic config update and have to paste it by hand.\n\nSince the plugin supports connecting multiple accounts, at this step the cli will ask you for the account ID, if you do not enter anything, the [default] key will be applied. You can also enter your own value.\n\n```bash\nEnter account id for config [default]: [2026-05-10T16:01:56.402] [INFO] - [connection closed]\n[2026-05-10T16:02:02.096] [WARN] - [Disconnecting...]\n[2026-05-10T16:02:02.103] [INFO] - [Disconnecting from x.x.x.x:80/TCPFull...]\n```\n\nIn the next step, you must confirm or reject the automatic update of the openclaw.json configuration file. If you reject it or receive an error updating the file, the cli will display an openclaw.json configuration fragment that you must add manually.\n\nThe automatic config update keeps the rest of `openclaw.json` intact and only updates the `channels.clawgram` section for the selected account. A timestamped backup of the config file is created before any write attempt.\n\nUpdate **yes**\n```bash\nUpdate OpenClaw config automatically? [y/N]: y\n\nConfig overwrite: /root/.openclaw/openclaw.json (sha256 97c4b55e61901aa71ff40898b5ebfbadd0f8fb9cd0145f3a08a5e5163783258a -> 6447683c687ceeb0dba09b2ca5187967e979ad2663d901977c608b6a09c9c432, backup=/root/.openclaw/openclaw.json.bak)\n\nOpenClaw config updated: /root/.openclaw/openclaw.json\nConfigured account id: default\nConfig backup created: /root/.openclaw/openclaw.json.bak-20260512-084914-clawgram-auth\n\nAfter applying config changes, restart OpenClaw:\n\nopenclaw gateway restart\n```\n\nUpdate **no**\n```bash\nUpdate OpenClaw config automatically? [y/N]: n\n\nJSON fragment for manual insertion:\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"enabled\": true,\n          \"apiId\": 12345678,\n          \"apiHash\": \"apiHash\",\n          \"sessionString\": \"sessionString\",\n          \"allowFrom\": [\n            \"*\"\n          ],\n          \"groups\": {\n            \"*\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\nAfter applying config changes, restart OpenClaw:\n\nopenclaw gateway restart\n```\n\n### 3. Restart OpenClaw gateway\n\n```bash\nopenclaw gateway restart\n```\n\n**What `--auth` writes is closed, on purpose.** The first config allows only the\naccount that authorised (`allowFrom: [<your id>]`), seeds no group entry, and\nwrites `readChats: []`. Until 2.21.1 it seeded `allowFrom: [\"*\"]` with an\nenabled wildcard group, so a freshly authorised account answered any Telegram\nuser and read the history of every chat it belonged to. Widen both lists\ndeliberately; the flow prints who can reach the agent before it exits.\n\nOne restart after installation is enough. From 2.17.0 the plugin declares\n`channels.clawgram` as a hot-reloadable prefix, so later edits under it —\n`allowFrom`, `groups`, `readChats`, proxy — are picked up by the Gateway's\nconfig watcher and restart only this channel (a few seconds of MTProto\nreconnect), not the whole Gateway.\n\n\n## Upgrading to 2.21.0\n\nOne config key changed meaning: **`allowFrom: []` now denies everyone.** It used\nto resolve to the wildcard, so emptying the list to shut an account off opened it\nto every Telegram user instead — the opposite of the request, and the opposite of\n`readChats: []` and `manageChats: []`, which have always been documented as deny.\n\nAn absent key still means everyone, so an install that never set `allowFrom` is\nunaffected; only an explicitly empty list changes. If you relied on `[]` to admit\neveryone, write `[\"*\"]`. The account logs `clawgram allowFrom is empty: no direct\nmessage will be accepted` at start, so the new state is never silent.\n\nThis is a behaviour change to a config key and by the usual rule it would cost a\nmajor bump. It ships as a minor deliberately: the plugin currently has one\noperator, the value is almost certainly nowhere, and the warning makes the case\nloud where it does occur.\n\n## Configuration Reference\n\n### JSON Reference\n\n```json\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"enabled\": true,\n          \"apiId\": 12345678,\n          \"apiHash\": \"apiHash\",\n          \"sessionString\": \"sessionString\",\n          \"allowFrom\": [\n            \"*\"\n          ],\n          \"groups\": {\n            \"*\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### Mention fields \n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `apiId` | number | required | Telegram API ID |\n| `apiHash` | string | required | Telegram API hash |\n| `sessionString` | string | `\"\"` | Authenticated StringSession |\n| `allowFrom` | string[] | `[\"*\"]` | Allowed sender IDs/usernames for direct messages only. Three states: absent means everyone, `[]` denies everyone (a warning is logged at account start), a list allows those senders |\n| `operatorIds` | string[] | — | Who receives core's operational telemetry in a DM (tool-failure warnings, fallback notices). They quote shell commands and secret-store paths, so they go **only** to these ids. Absent, empty or containing `*` means no operator is identified and the notices are dropped everywhere — they stay in the run diagnostics, the job's `lastError` and the gateway log. `allowFrom` is **not** a fallback (2.25.0; it was until then, which made every allowed sender an operator) |\n| `groups` | object | `{}` | Allowed groups map keyed by explicit group id or `*` |\n| `proxy` | object | unset | Optional SOCKS4/SOCKS5 proxy for this account — see [Proxy (SOCKS4/SOCKS5)](#proxy-socks4socks5) |\n| `manageChats` | string[] | unset | Chats the assistant may **manage** — see [Chat management](#chat-management). Absent or empty = management off; `[\"*\"]` = every chat |\n| `sendChats` | string[] | unset | Chats the assistant may **send to** — `send`, `upload-file`, `react`, `edit` and core's own delivery path (`--deliver`, sub-agent announcements). Absent = every chat; `[]` = none. Phone-number targets are refused regardless (2.22.0; core delivery covered since 2.25.0) |\n| `replyParseMode` | `\"html\"` \\| `\"markdown\"` \\| `\"none\"` | unset | Outbound format for replies, core-delivered text, captions and `send` calls that omit `parseMode` — see [Message formatting](#message-formatting) |\n| `twoFaPassword` | string \\| SecretRef | unset | The account's Telegram 2FA password; read only by `transferOwnership` |\n| `reactionModel` | string | unset | Model ref or alias for the emoji pick on a silent mention. Unset = the agent's own model. Needs `plugins.entries.clawgram.llm.allowModelOverride: true` in the gateway config; without it the override is refused and the pick quietly falls back to the default model |\n\nGroup config fields:\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `enabled` | boolean | `true` | Enables or disables replies in the group |\n| `groupPolicy` | `\"open\"` \\| `\"mention\"` \\| `\"tag\"` | `\"mention\"` | What wakes the agent here — see [What wakes the agent in a group](#what-wakes-the-agent-in-a-group) |\n| `allowFrom` | string[] | `[\"*\"]` | Allowed sender IDs/usernames inside that group. `[]` denies everyone, same as the account-level key |\n| `tools` | object | unset | `{ allow?, alsoAllow?, deny? }` — tool policy for this group; see [Per-group tools, skills and system prompt](#per-group-tools-skills-and-system-prompt) |\n| `toolsBySender` | object | unset | Per-sender tool policy inside this group, keys `id:<id>`, `username:<handle>`, `name:<display>` or `*` |\n| `skills` | string[] | unset | Skill allowlist for this group; `[]` = no skills here, unset = the agent's skills |\n| `systemPrompt` | string | unset | Trusted prompt block appended for messages from this group |\n\n### What wakes the agent in a group\n\n`groupPolicy` decides which messages start a turn at all. It is a ladder, widest\nfirst, and the rung is chosen per group:\n\n| Rung | Wakes on | Use it when |\n|---|---|---|\n| `open` | every message in the chat | the agent works as a member of the team and an address may carry no name at all |\n| `mention` | the name it answers to, an `@username`, or a reply to it | the default: the agent is a participant, not a fixture |\n| `tag` | an `@username` or a reply to it — **never the name** | the name occurs in conversation constantly, as it does in a large community |\n\nTwo things are worth knowing before reaching for `open`:\n\n- it spends a **full turn on every message**, chatter included. Whether words\n  are owed is then the agent's decision, and most of the time the answer is no;\n- the typing indicator is shown only for messages that actually addressed the\n  agent. Under `open` the room would otherwise watch it \"type\" through\n  conversations it is merely reading, with nothing following.\n\nEmoji reactions are unaffected by the rung: the channel leaves one only where\nthe agent was genuinely addressed, so background reading stays unmarked.\n\n### Per-group tools, skills and system prompt\n\nSince 2.17.0 a group entry can narrow what the assistant does *in that chat*\nwithout touching the agent as a whole. The keys mirror the bundled Telegram\nchannel's group config, and `*` works as the default group for them too.\n\n```json\n\"groups\": {\n  \"-1001234567890\": {\n    \"groupPolicy\": \"mention\",\n    \"systemPrompt\": \"This chat is project BRO. Other projects are out of scope here.\",\n    \"skills\": [\"pm-standup\", \"pm-jira\"],\n    \"tools\": { \"deny\": [\"browser\", \"cron\"] },\n    \"toolsBySender\": { \"id:123456789\": { \"alsoAllow\": [\"cron\"] } }\n  }\n}\n```\n\n| Key | Effect |\n|---|---|\n| `systemPrompt` | Appended to the system prompt as a trusted block for turns from this group — the place to say what the chat is about and what stays out of it. |\n| `skills` | Skill allowlist for turns from this group. Omit to inherit the agent's skills; `[]` means no skills in this chat. |\n| `tools` / `toolsBySender` | Tool policy resolved by OpenClaw core for this group (`toolsBySender` wins for a matching sender). Keys use core's typed grammar: `id:`, `username:`, `name:`, `channel:clawgram:<id>` or `*`. |\n\n**Limits — read before relying on `tools`.** The policy governs OpenClaw's\ngateway tools (`message`, `sessions_*`, `cron`, `memory_*`, …). Under CLI\nbackends such as `claude-cli` those reach the model through the loopback MCP\ntool list and are filtered per group; the backend's own native tools —\n`exec`, `read`, `write`, `edit`, `apply_patch`, `process` — are governed by\nthe agent's exec policy, not by the group. If a chat must not have a shell at\nall, bind it to a separate agent without one; the routing is core's, and the\npeer id carries the account prefix this channel uses:\n\n```json\n\"agents\": {\n  \"list\": [\n    { \"id\": \"main\", \"default\": true, \"workspace\": \"~/.openclaw/workspace\" },\n    {\n      \"id\": \"without-hands\",\n      \"workspace\": \"~/.openclaw/workspace-without-hands\",\n      \"model\": \"anthropic/claude-sonnet-5\",\n      \"tools\": {\n        \"deny\": [\"exec\", \"read\", \"write\", \"edit\", \"apply_patch\", \"process\", \"browser\", \"cron\"],\n        \"message\": { \"actions\": { \"allow\": [\"send\"] }, \"crossContext\": { \"allowWithinProvider\": false } }\n      }\n    }\n  ]\n},\n\"bindings\": [\n  { \"agentId\": \"without-hands\", \"match\": { \"channel\": \"clawgram\", \"peer\": { \"kind\": \"group\", \"id\": \"default:-1001234567890\" } } }\n]\n```\n\nNothing above changes for a group that does not set these keys.\n\n### Message formatting\n\n`replyParseMode` sets the outbound format for every path that does not name\none explicitly: replies, core-delivered text, media captions, and `send`\nactions without a `parseMode` parameter. A per-call `parseMode` still wins.\n\n| Mode | Behavior |\n|---|---|\n| `\"html\"` | **Recommended for agents.** The text is rendered before sending (2.15.0): markdown (`**bold**`, `*italic*`, `` `code` ``, ``` fences, `[text](url)`, `# headings`, `> quotes`, `~~strike~~`, `\\|\\|spoiler\\|\\|`) becomes Telegram entities, hand-written Telegram HTML (`<b>`, `<a href>`, `<code>`, …) passes through, structural HTML (`<ul>`, `<p>`, …) is dropped, and stray `<`, `>`, `&` arrive as literal text instead of vanishing into a failed tag. Markdown inside code is never converted. |\n| `\"markdown\"` | GramJS's own markdown parser: `**`, `__`, `~~`, `` ` ``, ``` ``` ``` only — no links, no single-asterisk emphasis. |\n| `\"none\"` | No parsing at all: the text is delivered exactly as typed. |\n| unset | GramJS's historical default, which is its markdown parser — **not** plain text. Set `\"none\"` if you want plain. |\n\nAgent-authored messages mix markdown and HTML freely, so `\"html\"` is the mode\nthat renders both. There is no reliable way to prompt a model out of writing\nmarkdown; rendering it is the deterministic fix.\n\n### Configuration variant for example\n\n```json\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"enabled\": true,\n          \"apiId\": 12345678,\n          \"apiHash\": \"apiHash\",\n          \"sessionString\": \"sessionString\",\n          \"allowFrom\": [\n            \"@nickname1\",\n            \"@nickname2\"\n          ],\n          \"groups\": {\n            \"-1001234567899\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"@nickname1\"\n              ]\n            },\n            \"-1009876543219\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            },\n            \"-1001234567891\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"open\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n\n## Proxy (SOCKS4/SOCKS5)\n\n### Why you may need it\n\nGramJS speaks MTProto over **raw TCP sockets**. OpenClaw's managed proxy (`proxy.proxyUrl`) and the\nstandard `HTTP_PROXY` / `HTTPS_PROXY` environment variables only cover HTTP and WebSocket traffic, so\nthey do **not** route the userbot's Telegram connection. On hosts where Telegram is blocked or\nfiltered, authorization and runtime work when the whole Gateway is launched through something like\n`proxychains`, but a normal systemd restart of the Gateway then fails to connect.\n\nConfigure `proxy` on the account to make GramJS dial Telegram through a SOCKS proxy natively, with no\nexternal wrapper and no changes to how the Gateway is started.\n\n> **This is a SOCKS proxy, not a Telegram MTProxy.** MTProxy (the `secret`-based Telegram proxy\n> protocol) is a different transport and is intentionally out of scope here.\n\n### SOCKS5 example\n\n```json\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"enabled\": true,\n          \"apiId\": 12345678,\n          \"apiHash\": \"apiHash\",\n          \"sessionString\": \"sessionString\",\n          \"proxy\": {\n            \"ip\": \"proxy.example.com\",\n            \"port\": 1080,\n            \"socksType\": 5,\n            \"username\": \"proxy-user\",\n            \"password\": \"proxy-password\",\n            \"timeout\": 10\n          },\n          \"allowFrom\": [\n            \"*\"\n          ],\n          \"groups\": {\n            \"*\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n### SOCKS4 example\n\nSOCKS4 uses the same block with `socksType: 4`. SOCKS4 has no password authentication, so pass at most\n`username`:\n\n```json\n\"proxy\": {\n  \"ip\": \"203.0.113.10\",\n  \"port\": 1081,\n  \"socksType\": 4\n}\n```\n\n### Proxy fields\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `ip` | string | required | Proxy hostname or IP address |\n| `port` | number | required | Proxy TCP port, `1`–`65535` |\n| `socksType` | `4` \\| `5` | required | `5` for SOCKS5, `4` for SOCKS4 |\n| `username` | string | unset | Optional — only for proxies that require authentication |\n| `password` | string | unset | Optional — only for proxies that require authentication |\n| `timeout` | number | `5` | Optional connection timeout **in seconds** (GramJS default is `5`) |\n\nNotes:\n\n- `timeout` is expressed in **seconds**, not milliseconds — GramJS multiplies it by 1000 internally.\n- `username` and `password` are optional. Omit both for an open proxy; blank strings are ignored.\n- The proxy is configured **per account**, so one account can use SOCKS5, another SOCKS4, and another\n  can connect directly:\n\n```json\n\"accounts\": {\n  \"default\": {\n    \"apiId\": 12345678,\n    \"apiHash\": \"apiHash\",\n    \"sessionString\": \"sessionString\",\n    \"proxy\": { \"ip\": \"proxy.example.com\", \"port\": 1080, \"socksType\": 5 }\n  },\n  \"second\": {\n    \"apiId\": 12345678,\n    \"apiHash\": \"apiHash\",\n    \"sessionString\": \"sessionString\",\n    \"proxy\": { \"ip\": \"203.0.113.10\", \"port\": 1081, \"socksType\": 4 }\n  },\n  \"third\": {\n    \"apiId\": 12345678,\n    \"apiHash\": \"apiHash\",\n    \"sessionString\": \"sessionString\"\n  }\n}\n```\n\n- Omitting `proxy` keeps the previous behavior exactly — a direct connection.\n- If `proxy` is present but invalid (bad port, bad `socksType`, empty host), the account fails to start\n  with an explicit error instead of silently falling back to a direct connection that would expose the\n  host's real IP address to Telegram.\n- On a successful connection the log line reports only `proxy: \"socks5\"` / `\"socks4\"` — never the host,\n  port, or credentials.\n- `openclaw clawgram --auth` only updates `apiId`, `apiHash` and `sessionString`, so an existing\n  `proxy` block survives re-authorization. If you decline the automatic config update, the printed JSON\n  fragment is a fresh-account template — merge it into your account instead of replacing the block, or\n  you will drop the `proxy` section.\n\n> **WARNING**: `password`, `apiHash` and `sessionString` are credentials. Never commit them to a\n> repository, paste them into issues, or share config files containing them. Anyone with your\n> `sessionString` has full access to your Telegram account.\n\n\n## Slash commands\n\nOpenClaw provides a robust set of native commands. Just like in a regular Telegram bot, slash commands are also available for a user Telegram account connected via the Telegram userbot plugin. Send the slash command in DM to the connected account.\n\nUse commands like `/status`, `/reset`, `/new` and others.\n\nYou can read more about slash commands in the [OpenClaw official documentation](https://docs.openclaw.ai/tools/slash-commands).\n\n\n\n## Multi-Account\n\nThe plugin also supports adding multiple accounts. You can run the cli command many times\n\n```bash\nopenclaw clawgram --auth\n```\n\n\nIf the custom cli command hangs on your OpenClaw version, use the standalone command instead:\n\n```bash\nnode ~/.openclaw/extensions/clawgram/dist/clawgram-cli.js --auth\n```\n\nAnd in the account ID step, enter a value other than the first [default] or your previously entered one.\naccount ID must be unique\n\n```bash\nEnter account id for config [default]: [2026-05-10T16:01:56.402] [INFO] - [connection closed]\n[2026-05-10T16:02:02.096] [WARN] - [Disconnecting...]\n[2026-05-10T16:02:02.103] [INFO] - [Disconnecting from x.x.x.x:80/TCPFull...]\n\nsecond\n```\n\n```json\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"enabled\": true,\n          \"apiId\": 12345678,\n          \"apiHash\": \"apiHash\",\n          \"sessionString\": \"sessionString\",\n          \"allowFrom\": [\n            \"*\"\n          ],\n          \"groups\": {\n            \"*\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            }\n          }\n        },\n        \"second\": {\n          \"enabled\": true,\n          \"apiId\": 12345678,\n          \"apiHash\": \"apiHash\",\n          \"sessionString\": \"sessionString\",\n          \"allowFrom\": [\n            \"*\"\n          ],\n          \"groups\": {\n            \"*\": {\n              \"enabled\": true,\n              \"groupPolicy\": \"mention\",\n              \"allowFrom\": [\n                \"*\"\n              ]\n            }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n\n## Multi-agent routing\n\nThe Clawgram channel can also be used alongside the regular Telegram channel for configuring OpenClaw multi-agent routing. In that case, accounts connected via the Clawgram channel will have independent agents.\n\nHere is an example of how to configure OpenClaw multi-agent routing using clawgram channel in parallel with main telegram channel.\n\nYou can read more about how to set up multi-agent routing in the official [OpenClaw documentation](https://docs.openclaw.ai/concepts/multi-agent)\n\nList model\n```json\n \"list\": [\n      {\n        \"id\": \"main\",\n        \"default\": true,\n        \"workspace\": \"/root/.openclaw/workspace\"\n      },\n      {\n        \"id\": \"second\",\n        \"workspace\": \"/root/.openclaw/workspace-second\",\n      },\n      {\n        \"id\": \"userbot-main\",\n        \"workspace\": \"/root/.openclaw/workspace-userbot-main\",\n      },\n      {\n        \"id\": \"userbot-second\",\n        \"workspace\": \"/root/.openclaw/workspace-userbot-second\",\n      }\n    ]\n```\n\nBindings\n```json\n\"bindings\": [\n    {\n      \"agentId\": \"main\",\n      \"match\": {\n        \"channel\": \"telegram\",\n        \"accountId\": \"default\"\n      }\n    },\n    {\n      \"agentId\": \"second\",\n      \"match\": {\n        \"channel\": \"telegram\",\n        \"accountId\": \"second\"\n      }\n    },\n    {\n      \"agentId\": \"userbot-main\",\n      \"match\": {\n        \"channel\": \"clawgram\",\n        \"accountId\": \"default\"\n      }\n    },\n    {\n      \"agentId\": \"userbot-second\",\n      \"match\": {\n        \"channel\": \"clawgram\",\n        \"accountId\": \"second\"\n      }\n    }\n  ]\n```\n\n\n> **NOTES**: Due to a known bug in the OpenClaw core, you may encounter an error in the logs: `EmbeddedAttemptSessionTakeoverError: session file changed while embedded prompt lock was released`. This error may primarily occur when communicating in group chats and not on all LLM models — only those that support tool calls. This error does not affect functionality, but it may cause a repeated request to the fallback model and excess token usage if you have one specified. To prevent this behavior, you can remove the fallback model in the openclaw.json configuration. To avoid affecting your main settings, override the model specifically for the clawgram channel in the agent list when configuring multi-agent routing — do not specify a fallback model for it.\n\n```json\n \"list\": [\n      {\n        \"id\": \"userbot-main\",\n        \"workspace\": \"/root/.openclaw/workspace-userbot-main\",\n        \"model\": {\n          \"primary\": \"<some model>\"\n        }\n      },\n      {\n        \"id\": \"userbot-second\",\n        \"workspace\": \"/root/.openclaw/workspace-userbot-second\",\n        \"model\": {\n          \"primary\": \"<some model>\"\n        }\n      }\n    ]\n```\n\n\n## Actions and the names that reach them\n\nTwo grammars name the same actions. The **native** names (`read`, `participants`, `topics`,\n`dialogs`, `chatInfo`, `fetch-media`, `createGroup`, …) are what the gateway RPC, the tests and\nthis README use. The agent's `message` tool, however, only dispatches names from **core's own\nvocabulary** (`CHANNEL_MESSAGE_ACTION_NAMES`), so every action worth reaching from a prompt also\nanswers to core's nearest name. `src/actions.ts` is the single source of both lists\n(`ACTION_ALIASES`, `CORE_VOCABULARY_SPELLINGS`); that core really knows each name is asserted\nagainst the installed core in `test/core-action-synonyms.test.ts`, so a core release that drops\none fails the suite rather than the chat.\n\n| Does | Native name | Callable from the `message` tool as | Gate |\n|---|---|---|---|\n| send text | `send` | `send` | `sendChats` |\n| send a file | `upload-file` | `upload-file`, `sendAttachment` | `sendChats`, media roots |\n| react to a message | `react` | `react` | `sendChats` |\n| read history | `read` (also `list`) | `read` | `readChats` |\n| fetch an attachment | `fetch-media` | `download-file` | `readChats` |\n| list members | `participants` | `member-info` | `readChats` |\n| list forum topics | `topics` | `thread-list` | `readChats` |\n| list chats | `dialogs` | `channel-list` | `discoverChats` |\n| describe a chat | `chatInfo` | `channel-info` (the chat arrives in `channelId`) | `readChats` |\n| where the account was added | `joins` | — (gateway RPC only) | — |\n| chat management | see the table below | see the table below | `manageChats` |\n\nNames outside core's vocabulary (`joins`, `transferOwnership`, `inviteLink`) are reachable through\nthe gateway RPC only. A name core does not know fails as \"requires a target\" and \"does not accept a\ntarget\" at once — there is no call that satisfies both, which is why this table exists.\n\n## Chat management\n\nSince 2.12.0 the assistant can assemble a chat, not only speak in it: create a supergroup, add and\nremove members, promote and demote admins, hand the chat to a new owner, and issue invite links.\nThis exists because the plugin drives a personal MTProto account — Telegram's Bot API forbids most\nof these to bots (a bot cannot create a group, cannot add an unwilling member, and cannot transfer\nownership at all).\n\n**Off by default.** Every action below is gated by `accounts.*.manageChats`, and the default is the\nexact opposite of `readChats`: absent or empty means *manage nothing*, a list of chat ids confines\nmanagement to those chats, `[\"*\"]` allows every chat. A non-empty list also unlocks `createGroup`\n(the chat being created is not in any list yet). All actions honour `dryRun`, and the gate is\nchecked before the dry-run answer, so a dry run exercises the same refusals a real call would hit.\n\n| Action | Callable from the `message` tool as | Parameters | Notes |\n|---|---|---|---|\n| `createGroup` | `channel-create` | `title`, `about?`, `users?` | Creates a **supergroup** (megagroup) — granular admin rights, bans and ownership transfer only exist there. Initial members are invited right after creation; who could not be added is returned in `missing` |\n| `addMembers` | `addParticipant` | `chatId`, `users` | Adds to supergroups in one call, to basic groups one by one. Ids Telegram refused (privacy settings) come back in `missing` instead of failing the call |\n| `removeMember` | `kick` | `chatId`, `user`, `ban?` | Soft kick by default — the person may be re-invited later. `ban: true` keeps them out until unbanned |\n| `promoteAdmin` | `role-add` | `chatId`, `user`, `rank?`, `rights?` | Grants a deliberate default set (change info, delete messages, ban, invite, pin, calls, topics). `addAdmins` and `anonymous` stay **off** unless explicitly set in `rights` |\n| `demoteAdmin` | `role-remove` | `chatId`, `user` | Strips every admin right |\n| `transferOwnership` | — (gateway RPC only) | `chatId`, `user` | Supergroups only. Requires `twoFaPassword` (below); Telegram's own rules surface as errors — see the fine print |\n| `inviteLink` | — (gateway RPC only) | `chatId`, `expireDate?`, `usageLimit?`, `title?`, `requestNeeded?` | The path for people whose privacy settings refuse a direct add. `expireDate` takes unix seconds or an ISO date |\n\nUser references in `users`/`user` are `@username` or a numeric Telegram id. A `@username` always\nresolves; a bare numeric id only when the account has already seen the user (shared chat, dialog,\nrecent contact) — Telegram refuses to look up strangers by id.\n\n**Ownership transfer fine print.** Telegram guards `transferOwnership` with an SRP proof of the\naccount's two-step-verification password, so the password has to be available to the runtime:\n`accounts.*.twoFaPassword`, either a literal or a [SecretRef](#keeping-credentials-out-of-the-config-file).\nIt is read only by this action, exchanged for the SRP proof in-process, and never travels through\naction parameters or logs. Telegram additionally refuses the transfer when 2FA was enabled less\nthan 7 days ago (`PASSWORD_TOO_FRESH_*`), when the session is younger than 24 hours\n(`SESSION_TOO_FRESH_*`), or when the new owner is not yet an admin of the chat — promote them\nfirst. These errors are surfaced as-is rather than retried.\n\n```json\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"manageChats\": [ \"-1001234567890\" ],\n          \"twoFaPassword\": { \"source\": \"file\", \"provider\": \"corp\", \"id\": \"/telegram/2fa-password\" }\n        }\n      }\n    }\n  }\n}\n```\n\n## Fetching attachments\n\nInbound attachments are read as they arrive: a photo or a voice note sent while the agent is being\naddressed becomes text in the message body, and the bytes are dropped. History reads (`read`) carry\nattachment *metadata* — kind, file name, size, duration — and fetch nothing. That leaves two things\nout: an image posted in a chat before the agent was addressed, and any reuse of an image at all,\nbecause the file the inbound path read is deleted the moment the reading ends.\n\n`fetch-media` covers both. It takes one message and returns what is attached to it. The action\nalso answers to **`download-file`**, core's own name for it — see the note on naming below.\n\n| Parameter | Aliases | Notes |\n|---|---|---|\n| `chatId` | `chat` | The chat: `@username`, numeric id, `me`. **Not `target`** — core reserves that for actions in its own vocabulary and refuses it here |\n| `messageId` | `id`, `message`, `msgId` | The id `read` reported for the message |\n| `mode` | — | `both` (default), `read`, `file` |\n\nModes differ in what happens to the bytes:\n\n- **`read`** — the attachment is turned into text (an image described, a voice note transcribed) and\n  the file is deleted, exactly the inbound contract. No path is returned.\n- **`file`** — the file is kept and its path returned, and no understanding model is called. This is\n  what forwarding through `upload-file` or attaching to a ticket needs.\n- **`both`** — the default: the reading *and* the path, from a single download.\n\nThe action is confined by `readChats`, the same scope that gates history and membership: a chat the\naccount may not read history from cannot be a source of bytes either. The action name also answers\nto `fetchMedia`, `download-media`, `downloadMedia` and `getMedia`.\n\n**On the two names.** Core keys its target policy by its own action vocabulary\n(`CHANNEL_MESSAGE_ACTION_NAMES`), and an action outside it is treated as both *requiring* a target\nand *not accepting* one — the same lookup returns `undefined` for the first check and defaults to\n`\"none\"` for the second. A caller then gets `Action fetch-media requires a target.` without a\ntarget and `Action fetch-media does not accept a target.` with one, whatever it tries.\n`download-file` is in that vocabulary and maps to `\"none\"`, so the contradiction does not arise;\n`fetch-media` is made usable by declaring `chatId` as its destination param\n(`messageActionTargetAliases`). Both names run the same code.\n\nWhat comes back is `ok: true` with `media` (the same metadata `read` reports), `understanding`\n(`description` or `transcript`), and `text` and/or `filePath` per the mode. A fetch that yields\nnothing is not an error — it says which nothing it was:\n\n| `error` | Meaning |\n|---|---|\n| `message-not-found` | No such message, or it was deleted |\n| `no-media` | The message is text only |\n| `unsupported-media` | An attachment this channel does not read — video, a spreadsheet, a sticker |\n| `media-too-large` | Over the 25 MB inbound cap. Telegram reports no size for a compressed photo, so this is a document limit in practice |\n\nA reading that fails while the download succeeded still returns `ok: true`, with `readError` beside\nthe path: the bytes are already there and can still be forwarded.\n\n**Fetched files live under the OpenClaw state directory** (`$OPENCLAW_STATE_DIR/tmp/clawgram-fetched/`,\nfalling back to the system temp directory when that variable is unset), named after the chat and\nmessage they came from, and are pruned an hour later by the next fetch. The directory is created\n0700 and each file written 0600: these are private-chat images and voice notes, and until 2.21.1\nthey sat in a shared `/tmp` at 0644 for a day, readable by every local account on the host. Nothing\nelse removes them, and nothing sends them anywhere — putting a fetched file in a chat is an ordinary\n`upload-file`, with whatever confirmation the deployment requires for that.\n\n## Dependencies are pinned, and the lock ships\n\n`installDependencies: true` tells OpenClaw to run an install in the plugin\ndirectory, so what lands on the host is whatever the registry serves that day —\nand the MTProto client sees `apiHash`, `sessionString`, the proxy credentials\nand every message. Since 2.21.1 the two runtime dependencies are pinned to\nexact versions and `npm-shrinkwrap.json` is part of the published tarball, so an\ninstall reproduces the tree the tests ran against rather than resolving a caret\nrange. `npm ci --ignore-scripts` verifies it.\n\nThe transitive `ip-address` is held at 10.7.0 through `overrides`: everything at\nor below 10.3.0 carries three advisories about SSRF and trust-boundary bypass,\nand it sits under the SOCKS proxy path this channel uses.\n\n## Security and privacy\n\nThis plugin holds credentials for a real Telegram account and handles private correspondence. What\nthat means in practice, and what the code does about it:\n\n| Concern | Where it lives | What the plugin does |\n| --- | --- | --- |\n| `apiHash`, `sessionString` | `openclaw.json`, or a secret store | Written there by `--auth`. Never logged. Since 2.1.0 the session string is not printed after login either — only shown, behind an explicit warning, if you decline the automatic config write. Since 2.2.0 both accept a **SecretRef** instead of a literal, so the credential need not sit in the config file at all |\n| Proxy password | `accounts.*.proxy.password`, or a secret store | Also accepts a SecretRef since 2.2.0. Marked `sensitive` in `uiHints`; diagnostics say `socks4`/`socks5` and nothing more. An invalid proxy fails the account rather than falling back to a direct connection, which would leak the host IP to Telegram |\n| Message bodies | channel logs | **Not logged.** Outbound sends record recipient, ids and `textLength`. Until 2.1.0 the full outbound text was written to the channel log — if you ran 2.0.x, treat those journal entries as containing private correspondence |\n| Read scope | `accounts.*.readChats` | History, membership and attachment fetches are confined to the listed chats. Absent means no restriction; an empty array denies everything. Telegram's own service chat (`777000`, where login codes arrive) is refused unconditionally, including under a wildcard |\n| Send scope | `accounts.*.sendChats` | `send`, `upload-file`, `react` and core's delivery path are confined to the listed chats. Same shape as `readChats`: absent means no restriction, `[]` denies everything, `[\"*\"]` allows every chat. **A phone number is refused whatever the list says** — messaging a raw number starts a conversation with someone who never contacted the account. Without the list, an injected turn can write to strangers from the owner's account or move a work chat's content into a DM one send at a time (2.22.0) |\n| Manage scope | `accounts.*.manageChats` | Creating groups, changing membership, admin rights, ownership and invite links are confined to the listed chats — and **off entirely** when the key is absent or empty (opposite default to `readChats`, because these actions change chats rather than read them) |\n| 2FA password | `accounts.*.twoFaPassword`, or a secret store | Read only by `transferOwnership`, exchanged for an SRP proof in-process. Accepts a SecretRef since 2.12.0; `sensitive` in `uiHints`; on the forbidden-log-keys list the static tests enforce |\n| Who may talk to it | `allowFrom`, `groups.*.groupPolicy` | Direct-message senders and group behaviour are allowlisted; `mention` limits group replies to explicit mentions. **Write ids, not handles:** an `@username` entry is a claim about a handle, and a released handle can be taken by someone else, after which the entry admits a stranger. The account logs a warning at start-up for every handle entry (2.22.0) |\n\nTwo static tests (`test/no-secret-logging.test.ts`) fail the build if a message body or a credential\nis ever added back to a log call, or if the auth flow prints the session string unprompted.\n\n### Keeping credentials out of the config file\n\n`apiHash`, `sessionString`, `proxy.username` and `proxy.password` accept a\n[SecretRef](https://docs.openclaw.ai/gateway/secrets) in place of a literal value:\n\n```json\n{\n  \"channels\": {\n    \"clawgram\": {\n      \"accounts\": {\n        \"default\": {\n          \"apiId\": 12345678,\n          \"apiHash\": { \"source\": \"file\", \"provider\": \"corp\", \"id\": \"/telegram/api-hash\" },\n          \"sessionString\": { \"source\": \"file\", \"provider\": \"corp\", \"id\": \"/telegram/session\" }\n        }\n      }\n    }\n  }\n}\n```\n\nReferences are resolved once per account at start-up. If one cannot be resolved the account fails to\nstart, naming the field but never the value — and the client refuses to be constructed while any\nreference remains, so an unresolved secret can never travel to Telegram as a credential.\n\nFound a security issue? Open an issue at\n[github.com/d3pre5s/clawgram/issues](https://github.com/d3pre5s/clawgram/issues) — or, if it is\nsensitive, contact the maintainer directly instead of filing publicly.\n\n## Development\n\n```bash\nnpm install          # install dependencies\nnpm run build        # run build script\nnpm test             # run the node:test suite (no Telegram connection required)\n```\n\nFor local authorization testing during development, you can also run the standalone cli directly:\n\n```bash\nnpm run clawgram-cli -- --auth\n```\n\nor\n\n```bash\nnpm run clawgram-cli:auth\n```\n\n## Releases\n\nEvery push and pull request is built and tested on Node 22 and 24. Releases are cut by pushing a\n`v<version>` tag: CI then builds from a clean checkout and publishes to npm with\n[provenance](https://docs.npmjs.com/generating-provenance-statements), so each published tarball is\nverifiably tied to the commit it was built from. The tag and `package.json` must agree or the job\nrefuses to publish.\n\nChanges per version: [CHANGELOG.md](CHANGELOG.md).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}