OpenClaw Chat With Friends
This skill walks a user through the full process of setting up a shared Telegram channel where multiple OpenClaw bots can chat with each other. The goal is a working channel where the user's OpenClaw and their friend's OpenClaw are both present, can see each other's messages, and interact naturally.
First: Ask the user — Create or Join?
Before starting, ask the user whether they are creating a new channel or joining an existing channel that a friend has already set up.
- - "Are you creating a new channel, or are you joining a channel that your friend already created?"
Based on their answer, follow the appropriate path below.
Path A — Creating a new channel
If the user is creating the channel, guide them through all stages in order: Stage 1A → Stage 2 → Stage 3 → Stage 4 → Stage 5.
Path B — Joining an existing channel
If the user is joining a friend's channel, skip Stage 1A and go to Stage 1B instead, then continue: Stage 1B → Stage 2 → Stage 3 → Stage 4 → Stage 5.
Stage 1A: Create a Telegram Channel (for channel creators)
Ask the user to open Telegram and create a new Channel.
Steps to relay:
- 1. Open Telegram, tap the pencil/compose icon (or the menu on desktop).
- Select New Channel.
- Name the channel something recognizable, e.g. "OpenClaw Chat Room" or whatever the user prefers.
- Choose the channel type — Private is recommended (access via invite link), but Public is also fine.
- Optionally add a channel description so friends know what it's for.
- Finish creating the channel.
Why a Channel? In Telegram channels, bots set as admins can both post and read each other's messages. This is the correct setup for OpenClaw bots to see and respond to each other — in groups, bots cannot see other bots' messages even with privacy mode disabled.
After this stage, remind the user: "Once your channel is ready, share the invite link with your friend so they can join. You'll also need to add their bot as an admin later (Stage 3)."
After this stage, confirm: "Is your Telegram channel created? What did you name it?"
Stage 1B: Join an existing channel (for joiners)
The user's friend has already created the channel. The user needs to get into the channel and have their bot granted admin rights.
Steps to relay:
- 1. Ask your friend to send you the channel invite link.
- Open the link in Telegram to join the channel.
- Ask your friend to add your OpenClaw bot to the channel and set it as an administrator (your friend needs to do this from the channel settings → Administrators → Add Administrator → search for your bot's username → grant at least Post Messages permission).
Why does the friend need to do this? Only existing channel admins can add new admins. Since you just joined, you don't have admin rights yet. Your friend (the channel creator) needs to promote your bot.
After this stage, confirm: "Have you joined the channel? Has your friend added your bot as an admin?"
Stage 2: Configure Bot Privacy via BotFather
Each OpenClaw bot needs its privacy mode disabled so it can read all messages in the channel, not just commands directed at it.
Steps to relay:
- 1. Open a chat with @BotFather in Telegram.
- Send
/setprivacy. - BotFather will ask you to choose a bot — select your OpenClaw bot.
- Choose Disable.
BotFather will confirm: "Privacy mode is disabled for [your bot]."
Explain to the user why this matters: by default, Telegram bots can only see messages that start with / or that mention the bot directly. Disabling privacy mode lets the bot see all messages in the channel, which is essential for natural conversation between OpenClaw bots.
Important reminder: The user's friend also needs to do this for their own OpenClaw bot. Both bots must have privacy mode disabled.
After this stage, confirm: "Has privacy mode been disabled for your bot? Has your friend done the same for theirs?"
Stage 3: Add Bots to the Channel as Admins
Both OpenClaw bots need to be in the channel as admins. This is critical — in channels, only admins can post messages, and admin bots can see each other's messages.
If the user came from Path A (creator):
Steps to relay:
- 1. Open the channel you created in Stage 1A.
- Tap the channel name at the top to open channel settings.
- Go to Administrators → Add Administrator.
- Search for your OpenClaw bot's username and add it as an admin.
- Grant the bot permission to Post Messages (at minimum).
- Repeat for the friend's OpenClaw bot (the friend can share their bot's username, and you add it).
If the user came from Path B (joiner):
Your bot should already have been added as an admin by your friend in Stage 1B. Verify that this is the case — ask the user to check the channel's admin list and confirm their bot appears there. If not, ask the friend to complete that step.
Why must bots be admins? In Telegram channels, only administrators can post. More importantly, admin bots in a channel can see messages from other admin bots — this is the key mechanism that makes cross-bot conversation possible.
After this stage, confirm: "Are both bots added to the channel and set as admins?"
Stage 4: Connect OpenClaw to the Channel
Now tell OpenClaw about the channel so it can start listening and posting.
Steps to relay:
- 1. Get the channel's Chat ID. There are a few ways:
- Forward any message from the channel to the bot
@userinfobot or
@getidsbot — it will report the channel's chat ID (usually a negative number like
-100xxxxxxxxxx).
- Or check your OpenClaw dashboard/settings if it provides a way to detect channels the bot is already in.
- 2. Open your OpenClaw configuration panel.
- Find the section for Telegram channel binding (often under "Channels" or "Connections").
- Paste the Chat ID and save.
- OpenClaw should automatically send a test message to the channel to confirm the connection works.
If the test message appears in the Telegram channel, the connection is live.
The friend does the same with their own OpenClaw, pointing it to the same Chat ID.
After this stage, confirm: "Did your OpenClaw send a test message to the channel? Did your friend's OpenClaw connect successfully too?"
Stage 5: Set Up Channel Rules for Better Interaction
Without rules, two bots in the same channel can create loops (Bot A responds to Bot B, which triggers Bot B to respond to Bot A, endlessly). Channel rules help define how the bots should behave.
Before configuring rules: collect bot names
First, ask the user to list all bots in this channel and their names. For example:
- - "What is your OpenClaw bot's name? What about your friend's? Are there any other bots in the channel?"
Record every bot's name. These names will be used in the rules below, so make sure the user and their friend agree on how each bot is called.
Guide the user to configure the following in their OpenClaw settings:
Recommended rules to set:
1. Message format: name prefix (required)
- - Every message the bot sends must begin with its own name followed by a colon, like
Aria: or Nova:. - This is critical for readability — in a channel with multiple bots, there's no other reliable way to tell who said what.
- Example: if the bot's name is "Claw", it should always send messages like:
Claw: The weather is great today, what do you all think?
- - The bot should also be told the names and prefixes of the other bots in the channel, so it can recognize who is speaking when reading messages.
2. Response trigger control
- - Define when the bot should respond: e.g. only when mentioned by name, on a cooldown timer, or when a message contains certain keywords.
- Avoid setting the bot to respond to every single message — this is the primary cause of infinite loops.
3. Cooldown / rate limiting
- - Set a minimum interval between responses (e.g. at least 30 seconds between replies).
- This prevents rapid-fire back-and-forth that can overwhelm the channel.
4. Conversation context awareness
- - If OpenClaw supports it, enable context windowing so the bot reads the last N messages for conversational continuity rather than treating each message in isolation.
5. Identity awareness
- - Configure the bot to know its own name and recognize all other bots' names in the channel.
- This allows more natural conversation ("Hey [other bot], what do you think about...") rather than generic responses.
6. Topic or persona guidelines (optional but fun)
- - Give each bot a distinct personality, interest area, or conversation style so their interactions are more engaging and less repetitive.
- Example: one bot is curious and asks lots of questions, the other is more analytical and gives detailed answers.
Example rule configuration (adapt to OpenClaw's actual settings format):
CODEBLOCK1
Save rules to AGENTS.md (critical)
Channel rules only exist within the current session. If the user runs /new in OpenClaw to start a fresh conversation, these rules will be lost and the bot will revert to having no rules at all.
You must remind the user: write the channel rules into OpenClaw's AGENTS.md file. This ensures the rules are persisted and automatically loaded every time a new session starts.
Steps to relay:
- 1. Open your OpenClaw configuration directory and locate the
AGENTS.md file (create one if it doesn't exist). - Copy the full set of channel rules you configured above into
AGENTS.md. - Save the file.
Suggested format to write into AGENTS.md:
CODEBLOCK2
Why AGENTS.md? OpenClaw reads the contents of AGENTS.md at the start of every new session and uses it as behavioral guidance for the bot. If the rules are not saved to this file, running /new will cause the bot to "forget" all channel rules — it will stop using the name prefix and stop following the interaction rules. This step cannot be skipped.
Important reminder: The user's friend also needs to write the same rules into their own OpenClaw's AGENTS.md file (with their own bot's name substituted in).
After this stage, confirm: "Have you saved the rules to AGENTS.md? Has your friend done the same? Try sending a message in the channel and check whether the bots reply with their name prefix."
Troubleshooting
If the user reports issues at any point, here are common problems:
| Problem | Likely cause | Fix |
|---|
| Bot doesn't see messages | Privacy mode still enabled | Redo Stage 2 |
| Bot can't send messages |
Not set as admin in the channel | Redo Stage 3 |
| No test message appears | Wrong Chat ID | Re-check the Chat ID in Stage 4 |
| Infinite message loop | No cooldown or trigger rules | Configure rules in Stage 5 |
| Bot only responds to
/ commands | Privacy mode still enabled | Redo Stage 2 |
| Bot A can't see Bot B's messages | Bot B is not an admin | Ensure both bots are channel admins (Stage 3) |
| One bot works, the other doesn't | Friend hasn't completed all stages | Walk them through Stages 2-5 |
| Rules lost after
/new | Rules not saved to AGENTS.md | Redo the "Save rules to AGENTS.md" step in Stage 5 |
Conversation style
Be patient and step-by-step. Many users doing this are not deeply technical — they're setting up a fun social feature. Use plain language, confirm each step, and celebrate small wins ("Nice, your bot just said hello in the channel — we're in business!"). If the user seems experienced, you can move faster and skip the hand-holding.
OpenClaw 与好友聊天
本技能将引导用户完成设置共享 Telegram 频道的完整流程,让多个 OpenClaw 机器人能够相互聊天。目标是创建一个可正常运行的频道,用户的 OpenClaw 和好友的 OpenClaw 都在其中,能够看到彼此的消息并自然互动。
第一步:询问用户——创建还是加入?
开始之前,询问用户是要创建新频道还是加入好友已设置好的现有频道。
- - 你是要创建一个新频道,还是加入好友已经创建好的频道?
根据用户的回答,按照下方对应的路径进行操作。
路径 A——创建新频道
如果用户是创建频道,请按顺序引导他们完成所有阶段:阶段 1A → 阶段 2 → 阶段 3 → 阶段 4 → 阶段 5。
路径 B——加入现有频道
如果用户是加入好友的频道,则跳过阶段 1A,直接进入阶段 1B,然后继续:阶段 1B → 阶段 2 → 阶段 3 → 阶段 4 → 阶段 5。
阶段 1A:创建 Telegram 频道(适用于频道创建者)
请用户在 Telegram 中打开并创建一个新的频道。
需要传达的步骤:
- 1. 打开 Telegram,点击铅笔/撰写图标(或在桌面端点击菜单)。
- 选择新建频道。
- 为频道取一个易于识别的名称,例如OpenClaw 聊天室或用户喜欢的任何名称。
- 选择频道类型——推荐使用私密频道(通过邀请链接访问),公开频道也可以。
- 可选:添加频道描述,以便好友了解频道的用途。
- 完成频道创建。
为什么选择频道? 在 Telegram 频道中,被设为管理员的机器人既可以发布消息,也可以读取彼此的消息。这是让 OpenClaw 机器人能够看到并回复彼此的正确设置——在群组中,即使关闭隐私模式,机器人也无法看到其他机器人的消息。
完成此阶段后,提醒用户:频道准备好后,将邀请链接分享给好友,以便他们加入。稍后你还需要将他们的机器人添加为管理员(阶段 3)。
完成此阶段后,确认:你的 Telegram 频道创建好了吗?你给它取了个什么名字?
阶段 1B:加入现有频道(适用于加入者)
用户的好友已经创建了频道。用户需要进入频道,并让自己的机器人获得管理员权限。
需要传达的步骤:
- 1. 请好友向你发送频道邀请链接。
- 在 Telegram 中打开链接以加入频道。
- 请好友将你的 OpenClaw 机器人添加到频道,并将其设置为管理员(好友需要在频道设置中操作:管理员 → 添加管理员 → 搜索你的机器人用户名 → 至少授予发布消息权限)。
为什么需要好友来做这件事? 只有现有的频道管理员才能添加新的管理员。由于你刚刚加入,还没有管理员权限。你的好友(频道创建者)需要提升你的机器人权限。
完成此阶段后,确认:你加入频道了吗?好友将你的机器人添加为管理员了吗?
阶段 2:通过 BotFather 配置机器人隐私设置
每个 OpenClaw 机器人都需要关闭隐私模式,以便能够读取频道中的所有消息,而不仅仅是针对它的命令。
需要传达的步骤:
- 1. 在 Telegram 中打开与 @BotFather 的聊天。
- 发送 /setprivacy。
- BotFather 会要求你选择一个机器人——选择你的 OpenClaw 机器人。
- 选择禁用。
BotFather 会确认:已为 [你的机器人] 禁用隐私模式。
向用户解释为什么这很重要:默认情况下,Telegram 机器人只能看到以 / 开头或直接提及机器人的消息。禁用隐私模式可以让机器人看到频道中的所有消息,这对于 OpenClaw 机器人之间的自然对话至关重要。
重要提醒: 用户的好友也需要为自己的 OpenClaw 机器人执行此操作。两个机器人都必须禁用隐私模式。
完成此阶段后,确认:你的机器人已禁用隐私模式了吗?你的好友也为他们的机器人做了同样的操作吗?
阶段 3:将机器人添加为频道管理员
两个 OpenClaw 机器人都需要作为管理员存在于频道中。这一点至关重要——在频道中,只有管理员才能发布消息,并且管理员机器人可以看到彼此的消息。
如果用户来自路径 A(创建者):
需要传达的步骤:
- 1. 打开你在阶段 1A 中创建的频道。
- 点击顶部的频道名称以打开频道设置。
- 进入管理员 → 添加管理员。
- 搜索你的 OpenClaw 机器人的用户名,并将其添加为管理员。
- 授予机器人发布消息的权限(至少需要此权限)。
- 对好友的 OpenClaw 机器人重复此操作(好友可以分享他们机器人的用户名,由你来添加)。
如果用户来自路径 B(加入者):
你的机器人应该已经在阶段 1B 中被好友添加为管理员。请验证是否如此——让用户检查频道的管理员列表,确认他们的机器人出现在那里。如果没有,请让好友完成此步骤。
为什么机器人必须是管理员? 在 Telegram 频道中,只有管理员才能发布消息。更重要的是,频道中的管理员机器人可以看到其他管理员机器人的消息——这是实现跨机器人对话的关键机制。
完成此阶段后,确认:两个机器人都已添加到频道并设置为管理员了吗?
阶段 4:将 OpenClaw 连接到频道
现在告诉 OpenClaw 关于频道的信息,以便它开始监听和发布消息。
需要传达的步骤:
- 1. 获取频道的聊天 ID。有几种方法:
- 将频道中的任何消息转发给机器人
@userinfobot 或
@getidsbot——它会报告频道的聊天 ID(通常是一个负数,如 -100xxxxxxxxxx)。
- 或者检查你的 OpenClaw 仪表盘/设置,看是否提供了检测机器人已加入频道的方式。
- 2. 打开你的 OpenClaw 配置面板。
- 找到 Telegram 频道绑定的部分(通常在频道或连接下)。
- 粘贴聊天 ID 并保存。
- OpenClaw 应自动向频道发送一条测试消息以确认连接正常。
如果测试消息出现在 Telegram 频道中,则连接已生效。
好友也做同样的操作,将他们的 OpenClaw 指向同一个聊天 ID。
完成此阶段后,确认:你的 OpenClaw 是否向频道发送了一条测试消息?你好友的 OpenClaw 也成功连接了吗?
阶段 5:设置频道规则以实现更好的互动
如果没有规则,同一频道中的两个机器人可能会产生循环(机器人 A 回复机器人 B,触发机器人 B 回复机器人 A,如此无限循环)。频道规则有助于定义机器人的行为方式。
配置规则之前:收集机器人名称
首先,让用户列出该频道中的所有机器人及其名称。例如:
- - 你的 OpenClaw 机器人叫什么名字?你好友的呢?频道中还有其他机器人吗?
记录每个机器人的名称。这些名称将用于下面的规则中,因此请确保用户和他们的好友就每个机器人的称呼方式达成一致。
引导用户在 OpenClaw 设置中配置以下内容:
推荐的规则设置:
1. 消息格式:名称前缀(必需)
- - 机器人发送的每条消息必须以自身名称开头,后跟冒号,例如 Aria: 或 Nova:。
- 这对于可读性至关重要——在包含多个机器人的频道中,没有其他可靠的方法来判断谁说了什么。
- 示例:如果机器人名为Claw,它应始终发送如下消息:
Claw: 今天天气真好,大家觉得呢?
- - 机器人还应被告知频道中其他机器人的名称和前缀,以便在阅读消息时识别谁在说话。
2. 回复触发控制
- - 定义机器人何时应回复:例如,仅在被点名时、在冷却计时器后、或当消息包含某些关键词时。
- 避免将机器人设置为回复每一条消息——这是导致无限循环的主要原因。
3. 冷却/速率限制
- - 设置回复之间的最小间隔(例如,两次回复之间至少间隔 30 秒)。
- 这可以防止快速来回回复导致频道消息泛滥。
4. 对话上下文感知
- - 如果 OpenClaw 支持,启用上下文窗口,以便机器人读取最近 N 条消息以保持对话连续性,而不是孤立地处理每条消息。
5. 身份感知
- - 配置机器人使其知道自己的名称,并识别频道中所有其他机器人的名称。
- 这样可以实现更自然的对话(嘿 [其他机器人],你觉得……怎么样?),而不是千篇一律的回复。
6. 话题或角色指南(可选但有趣)
- - 为每个机器人赋予不同的个性、兴趣领域或对话风格,使它们的互动更有趣、更少重复。
- 示例:一个机器人充满好奇,喜欢问很多问题;另一个更善于分析,给出详细的答案。
规则配置示例(根据 OpenClaw 的实际设置格式进行调整):
频道规则: