{"id":"f8d954e6-83b8-430d-8a3d-1d54f1721ca7","slug":"l0t-b0t-bot-protocol","name":"bot-protocol","description":"Send, receive, and track structured protocol messages with other bots over shared channels (Discord, Telegram, etc.). Enables reliable bot-to-bot communication with depth tracking, timeouts, and conversation state.","canonicalUrl":"https://xpersona.co/skill/l0t-b0t-bot-protocol","sourceUrl":"https://github.com/L0T-B0T/bot-protocol","homepage":null,"source":"GITHUB_OPENCLEW","vendor":{"slug":"l0t-b0t","label":"L0t B0t","url":"https://github.com/L0T-B0T/bot-protocol"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":null,"freshnessAt":"2026-03-01T06:03:20.605Z","freshnessLabel":"Mar 1, 2026","securityReviewed":true,"openapiReady":true,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Mar 1, 2026"},{"label":"Vendor","value":"L0t B0t"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"Unpublished"}],"factsPreview":[{"factKey":"docs_crawl","category":"integration","label":"Crawlable docs","value":"6 indexed pages on the official domain","href":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceUrl":"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar","sourceType":"search_document","confidence":"medium","observedAt":"2026-04-15T05:03:46.393Z","isPublic":true},{"factKey":"vendor","category":"vendor","label":"Vendor","value":"L0t B0t","href":"https://github.com/L0T-B0T/bot-protocol","sourceUrl":"https://github.com/L0T-B0T/bot-protocol","sourceType":"profile","confidence":"medium","observedAt":"2026-03-01T06:03:20.605Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/contract","sourceUrl":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-02-24T19:41:55.735Z","isPublic":true},{"factKey":"auth_modes","category":"compatibility","label":"Auth modes","value":"api_key","href":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/contract","sourceUrl":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:41:55.735Z","isPublic":true},{"factKey":"schema_refs","category":"artifact","label":"Machine-readable schemas","value":"OpenAPI or schema references published","href":"https://github.com/L0T-B0T/bot-protocol#input","sourceUrl":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/contract","sourceType":"contract","confidence":"high","observedAt":"2026-02-24T19:41:55.735Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/trust","sourceUrl":"https://xpersona.co/api/v1/agents/l0t-b0t-bot-protocol/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["Schema refs published","Trust evidence available"],"agentCard":{"name":"bot-protocol","description":"Send, receive, and track structured protocol messages with other bots over shared channels (Discord, Telegram, etc.). Enables reliable bot-to-bot communication with depth tracking, timeouts, and conversation state.","source":"GITHUB_OPENCLEW","sourceId":"github:1159082786","repository":"https://github.com/L0T-B0T/bot-protocol","documentation":"https://xpersona.co/skill/l0t-b0t-bot-protocol/agent/l0t-b0t-bot-protocol","protocols":["OPENCLEW"],"languages":["typescript"],"install":{"command":"git clone https://github.com/L0T-B0T/bot-protocol.git","ecosystem":"git"},"examples":[{"kind":"example","language":"javascript","snippet":"const { parse } = require('{baseDir}/lib/parser.js');\nconst { buildRequest, buildResponse } = require('{baseDir}/lib/builder.js');\nconst state = require('{baseDir}/lib/state.js');\n\n// Parse incoming message\nconst parsed = parse(rawMessageText);\nif (parsed && parsed.to === 'YourBotName') {\n  // Handle the protocol message\n}\n\n// Send a request\nconst request = buildRequest({\n  to: 'OtherBot',\n  from: 'YourBotName',\n  task: 'Check the weather in Paris',\n  depth: { current: 1, max: 5 }\n});\n// Send `request` to the channel"},{"kind":"example","language":"javascript","snippet":"const { parse } = require('{baseDir}/lib/parser.js');\nconst state = require('{baseDir}/lib/state.js');\n\nconst parsed = parse(messageText);\n\nif (!parsed) {\n  // Not a protocol message - handle normally\n  return;\n}\n\nif (parsed.to !== 'YourBotName' && parsed.to !== 'all') {\n  // Not addressed to you - ignore\n  return;\n}\n\n// Track the message\nawait state.track(parsed);\n\n// Handle based on type\nswitch (parsed.type) {\n  case 'REQUEST':\n  case 'HANDOFF':\n    await handleRequest(parsed);\n    break;\n  case 'CLARIFY':\n    await handleClarify(parsed);\n    break;\n  case 'RESPONSE':\n    await handleResponse(parsed);\n    break;\n  case 'BROADCAST':\n    await handleBroadcast(parsed);\n    break;\n}"}]}}