[{"data":1,"prerenderedAt":530},["ShallowReactive",2],{"navigation":3,"/features/telegram":94,"/features/telegram-surround":525},[4,22,39,68,81],{"title":5,"path":6,"stem":7,"children":8,"page":21},"Getting Started","/getting-started","1.getting-started",[9,13,17],{"title":10,"path":11,"stem":12},"Introduction","/getting-started/introduction","1.getting-started/1.introduction",{"title":14,"path":15,"stem":16},"Installation","/getting-started/installation","1.getting-started/2.installation",{"title":18,"path":19,"stem":20},"Workspace","/getting-started/workspace","1.getting-started/3.workspace",false,{"title":23,"path":24,"stem":25,"children":26,"page":21},"Configuration","/configuration","2.configuration",[27,31,35],{"title":28,"path":29,"stem":30},"Overview","/configuration/overview","2.configuration/1.overview",{"title":32,"path":33,"stem":34},"AI Providers","/configuration/ai-providers","2.configuration/2.ai-providers",{"title":36,"path":37,"stem":38},"Configuration Reference","/configuration/reference","2.configuration/3.reference",{"title":40,"path":41,"stem":42,"children":43,"page":21},"Features","/features","3.features",[44,48,52,56,60,64],{"title":45,"path":46,"stem":47},"Telegram","/features/telegram","3.features/1.telegram",{"title":49,"path":50,"stem":51},"Tools","/features/tools","3.features/2.tools",{"title":53,"path":54,"stem":55},"Scheduling","/features/scheduling","3.features/3.scheduling",{"title":57,"path":58,"stem":59},"Heartbeat","/features/heartbeat","3.features/4.heartbeat",{"title":61,"path":62,"stem":63},"Memory","/features/memory","3.features/5.memory",{"title":65,"path":66,"stem":67},"Skills","/features/skills","3.features/6.skills",{"title":69,"path":70,"stem":71,"children":72,"page":21},"Cli","/cli","4.cli",[73,77],{"title":74,"path":75,"stem":76},"CLI Commands","/cli/commands","4.cli/1.commands",{"title":78,"path":79,"stem":80},"Running as a Service","/cli/service-management","4.cli/2.service-management",{"title":82,"path":83,"stem":84,"children":85,"page":21},"Reference","/reference","5.reference",[86,90],{"title":87,"path":88,"stem":89},"Sessions","/reference/sessions","5.reference/1.sessions",{"title":91,"path":92,"stem":93},"Troubleshooting","/reference/troubleshooting","5.reference/3.troubleshooting",{"id":95,"title":45,"body":96,"description":518,"extension":519,"links":520,"meta":521,"navigation":522,"path":46,"seo":523,"stem":47,"__hash__":524},"docs/3.features/1.telegram.md",{"type":97,"value":98,"toc":505},"minimark",[99,103,115,120,149,152,246,249,253,261,268,273,276,283,330,334,339,351,356,370,374,377,380,384,387,447,451,454,472,483,487,490,494,501],[100,101,45],"h1",{"id":102},"telegram",[104,105,106,107,114],"p",{},"Telegram is currently the only messaging channel in BabyClaw. The integration is built on ",[108,109,113],"a",{"href":110,"rel":111},"https://grammy.dev/",[112],"nofollow","grammY"," and supports text messages, photos, streaming replies, slash commands, and inline approval buttons.",[116,117,119],"h2",{"id":118},"creating-a-bot","Creating a bot",[121,122,123,132,139,146],"ol",{},[124,125,126,127],"li",{},"Open Telegram and message ",[108,128,131],{"href":129,"rel":130},"https://t.me/BotFather",[112],"@BotFather",[124,133,134,135],{},"Send ",[136,137,138],"code",{},"/newbot",[124,140,141,142,145],{},"Choose a name (displayed in chats) and a username (must end in ",[136,143,144],{},"bot",")",[124,147,148],{},"BotFather gives you a token -- copy it",[104,150,151],{},"Add the token to your config:",[153,154,159],"pre",{"className":155,"code":156,"language":157,"meta":158,"style":158},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"channels\": {\n    \"telegram\": {\n      \"botToken\": \"123456789:ABCdefGHIjklMNOpqrsTUVwxyz\"\n    }\n  }\n}\n","json","",[136,160,161,170,189,204,228,234,240],{"__ignoreMap":158},[162,163,166],"span",{"class":164,"line":165},"line",1,[162,167,169],{"class":168},"sMK4o","{\n",[162,171,173,176,180,183,186],{"class":164,"line":172},2,[162,174,175],{"class":168},"  \"",[162,177,179],{"class":178},"spNyl","channels",[162,181,182],{"class":168},"\"",[162,184,185],{"class":168},":",[162,187,188],{"class":168}," {\n",[162,190,192,195,198,200,202],{"class":164,"line":191},3,[162,193,194],{"class":168},"    \"",[162,196,102],{"class":197},"sBMFI",[162,199,182],{"class":168},[162,201,185],{"class":168},[162,203,188],{"class":168},[162,205,207,210,214,216,218,221,225],{"class":164,"line":206},4,[162,208,209],{"class":168},"      \"",[162,211,213],{"class":212},"sbssI","botToken",[162,215,182],{"class":168},[162,217,185],{"class":168},[162,219,220],{"class":168}," \"",[162,222,224],{"class":223},"sfazB","123456789:ABCdefGHIjklMNOpqrsTUVwxyz",[162,226,227],{"class":168},"\"\n",[162,229,231],{"class":164,"line":230},5,[162,232,233],{"class":168},"    }\n",[162,235,237],{"class":164,"line":236},6,[162,238,239],{"class":168},"  }\n",[162,241,243],{"class":164,"line":242},7,[162,244,245],{"class":168},"}\n",[104,247,248],{},"Start the gateway and message your bot. That's it.",[116,250,252],{"id":251},"how-conversations-work","How conversations work",[104,254,255,256,260],{},"Each Telegram chat (or topic within a forum-style group) creates a separate ",[257,258,259],"strong",{},"session"," in BabyClaw. The agent maintains independent context for each session, so conversations in different chats don't bleed into each other.",[104,262,263,264,267],{},"The first chat you message the bot from becomes the ",[257,265,266],{},"main session",". The main session is special -- it's the only one where cross-chat messaging tools and long-term memory extraction are active.",[269,270,272],"h3",{"id":271},"reply-chains","Reply chains",[104,274,275],{},"If you reply to one of the bot's messages, BabyClaw links your reply to the original session context. This is useful in groups where multiple conversations might be happening.",[104,277,278,279,282],{},"You can also enable ",[136,280,281],{},"\"reply-chain\""," mode in the config, which scopes sessions by reply thread rather than just by chat:",[153,284,286],{"className":155,"code":285,"language":157,"meta":158,"style":158},"{\n  \"session\": {\n    \"replyChainMode\": \"reply-chain\"\n  }\n}\n",[136,287,288,292,304,322,326],{"__ignoreMap":158},[162,289,290],{"class":164,"line":165},[162,291,169],{"class":168},[162,293,294,296,298,300,302],{"class":164,"line":172},[162,295,175],{"class":168},[162,297,259],{"class":178},[162,299,182],{"class":168},[162,301,185],{"class":168},[162,303,188],{"class":168},[162,305,306,308,311,313,315,317,320],{"class":164,"line":191},[162,307,194],{"class":168},[162,309,310],{"class":197},"replyChainMode",[162,312,182],{"class":168},[162,314,185],{"class":168},[162,316,220],{"class":168},[162,318,319],{"class":223},"reply-chain",[162,321,227],{"class":168},[162,323,324],{"class":164,"line":206},[162,325,239],{"class":168},[162,327,328],{"class":164,"line":230},[162,329,245],{"class":168},[116,331,333],{"id":332},"supported-message-types","Supported message types",[104,335,336],{},[257,337,338],{},"Inbound (you to the bot):",[340,341,342,345,348],"ul",{},[124,343,344],{},"Text messages",[124,346,347],{},"Photos (processed with the vision model if configured)",[124,349,350],{},"Replies to bot messages",[104,352,353],{},[257,354,355],{},"Outbound (bot to you):",[340,357,358,361,364,367],{},[124,359,360],{},"Text with Telegram MarkdownV2 formatting",[124,362,363],{},"Images",[124,365,366],{},"Files (documents, audio, video, animations)",[124,368,369],{},"Typing indicators while the agent is thinking",[116,371,373],{"id":372},"streaming-replies","Streaming replies",[104,375,376],{},"When the agent generates a response, BabyClaw streams it to Telegram as a draft message that gets updated as new text arrives. You'll see the message being \"typed\" in real-time rather than waiting for the full response.",[104,378,379],{},"If the agent is using tools (running a shell command, searching the web, etc.), you'll see a brief status update while it works.",[116,381,383],{"id":382},"slash-commands","Slash commands",[104,385,386],{},"The Telegram bot responds to a few built-in commands:",[388,389,390,403],"table",{},[391,392,393],"thead",{},[394,395,396,400],"tr",{},[397,398,399],"th",{},"Command",[397,401,402],{},"What it does",[404,405,406,417,427,437],"tbody",{},[394,407,408,414],{},[409,410,411],"td",{},[136,412,413],{},"/link \u003Calias>",[409,415,416],{},"Link this chat with an alias so the agent can send messages to it",[394,418,419,424],{},[409,420,421],{},[136,422,423],{},"/unlink",[409,425,426],{},"Unlink this chat",[394,428,429,434],{},[409,430,431],{},[136,432,433],{},"/schedules",[409,435,436],{},"List active schedules for this chat",[394,438,439,444],{},[409,440,441],{},[136,442,443],{},"/heartbeat",[409,445,446],{},"Show heartbeat status (enabled, next run time)",[269,448,450],{"id":449},"linking-chats","Linking chats",[104,452,453],{},"Chat linking lets the agent send messages across different Telegram chats. To link a group chat:",[121,455,456,459,465],{},[124,457,458],{},"Add your bot to the group",[124,460,134,461,464],{},[136,462,463],{},"/link my-group"," (the alias is a short name you pick)",[124,466,467,468,471],{},"Now the agent can target ",[136,469,470],{},"my-group"," when sending scheduled messages or cross-chat messages",[104,473,474,475,478,479,482],{},"Aliases must be lowercase alphanumeric with hyphens, like ",[136,476,477],{},"work-chat"," or ",[136,480,481],{},"family",".",[116,484,486],{"id":485},"shell-command-approval","Shell command approval",[104,488,489],{},"When the agent tries to run a shell command that isn't in the allowlist, BabyClaw can send you an inline keyboard button to approve or deny it (instead of just blocking it). This gives you control without having to add every possible command to the allowlist upfront.",[116,491,493],{"id":492},"sending-stop","Sending \"stop\"",[104,495,496,497,500],{},"If the agent is in the middle of a long response or running tools, send ",[136,498,499],{},"stop"," to cancel the current turn. The agent will stop what it's doing and wait for your next message.",[502,503,504],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":158,"searchDepth":165,"depth":172,"links":506},[507,508,511,512,513,516,517],{"id":118,"depth":172,"text":119},{"id":251,"depth":172,"text":252,"children":509},[510],{"id":271,"depth":191,"text":272},{"id":332,"depth":172,"text":333},{"id":372,"depth":172,"text":373},{"id":382,"depth":172,"text":383,"children":514},[515],{"id":449,"depth":191,"text":450},{"id":485,"depth":172,"text":486},{"id":492,"depth":172,"text":493},"How the Telegram integration works -- setting up a bot, conversations, and supported features.","md",null,{},true,{"title":45,"description":518},"cTJIrkqpNZTOaiRjEnLha9n5w3EzGYtfSpHhc2sCgsI",[526,528],{"title":36,"path":37,"stem":38,"description":527,"children":-1},"Every config field, its type, and default value.",{"title":49,"path":50,"stem":51,"description":529,"children":-1},"What tools the agent has access to and how to configure them.",1771846894211]