#Telegram

1 messages · Page 1 of 1 (latest)

summer spoke
true hare
#

👋

I take care of the Telegram provider, feel free to ping me!

silk portal
#

Hey

#

it's funny, cause that issue is not letting me fix the issue cause I'm using openclaw to fix it and I don't see what commands it's running and I'm working blindfolded

#

Exec: run cd - thats what I'm seeing when openclaw is doing changes or trying to run docker so I can check the fix

summer spoke
#

Telegram

true hare
#

BTW @silk portal I was thinking of:

  • disabling edit streaming by default on Telegram
  • changing the Telegram streaming config to just a simple streaming: true instead of streaming: off | partial | block
silk portal
#

So it doesn't edit random messages in history?

true hare
silk portal
#

ah, got it
yeah, when it's doing work, I get random messages edited by openclaw, not sure if bug or feature

#

And the order of messages is messed up a lot of the time

true hare
#

Simple PR, we drop block streaming completely and only keep streaming: true | false

#

Will test it out and merge tomorrow

silk portal
#

it's going to behave as block now?

true hare
silk portal
#

got it

warm needle
#

Oh dang I liked block but oh well

pulsar canopy
#

Hello what do you guys use so that openclaw can listen to your voice messages on telegram?

silk portal
silk portal
warm needle
#

Yeah I mean it's a neat party trick to do the STT on the bot itself but dictation works fine

summer spoke
pulsar canopy
silk portal
#

I don’t trust it cause even when I’m using raycast with whisper, it makes bad mistakes sometimes and I dont want bot to do random stuff for me

silk portal
pulsar canopy
#

Awesome I'll dig into it

silk portal
summer spoke
#

i dont maintain telegram stuff, just be patient

true hare
true hare
magic harbor
#

guys, have i had allucinations or at the beginning of february i was able to interact with the bot on a telegram group without @ it? Now it is ignoring everything that does not @ him. Sounds weird, even because when you @ him at the beginning of the message you can't write text but just commands

indigo vapor
#

I set up multiple Telegram group chats so I could have multiple agent threads to minimize context cross-pollution, but like @magic harbor messages are ignored unless I ping the bot with @, even though I gave clear directions that every message in every group chat should be responded to.

magic harbor
#

and i can bet it was reading the messages before without being @tted to. I'v also made him Admin.

cerulean plover
magic harbor
#

yes that worked, just found out. But adding it to the .json config invalidates it

#

wiki says to add: groups: {
"*": { requireMention: false },
},

#

but doesn't work

half topaz
indigo vapor
#

Thanks. That brings up another issue - these new inline buttons don't work reliably. I've clicked 'always' half dozen times, and selection still doesn't register.

wind vale
true hare
silk portal
silk portal
wind vale
wind vale
#

oh wow, just enabled DMs with threads ... amazing! unfortunately also broken, as looks like openclaw can't target specific threads. Seems like this issue https://github.com/openclaw/openclaw/issues/13566 ... anyone knows if there is a PR that fixes this that I can use?

true hare
wind vale
wind vale
true hare
#

🥲

wind vale
#

I mean with a group, it was "easy" (relatively) to define cronjobs to send to specific topics in the group. other than the wrong syntax minimaxm2.5 used (#1474436078373966089 message) ; but with topics, it doesn't seem to be possible?! idk.

true hare
wind vale
true hare
#

Especially since Telegram explicitly lets you resolve usernames to userIds

wind vale
#

5am .. I'm off to sleep, thank you for taking a look! one less patch for me to maintain in my claw.

paper belfry
#

I'm having a tough time. Spent all day trying to get my Dms recognized by my Telegram bot. I've had every Codex agent and Opus 4.5, Sonic 4.5. I've had them all working for over ten hours trying to troubleshoot this. Smoke tests, everything. I need help.

true hare
#

Are you on Windows / WSL2 by any chance

paper belfry
#

Mac mini

#

Currently, I have the codex 5.3 in a terminal running. Here's the message, but it's still spinning.
• I found an immediate blocker: the OpenClaw gateway is currently not running
(service not installed / not loaded), so Telegram messages cannot be processed
right now. I’m bringing the gateway back up and validating live ingest/output
next.

#

This is what it's doing currently, right now, and it's been going like this for ten hours between multiple LLMs trying to troubleshoot

Do you want me to run host-level direct/proxy Telegram API checks to
pinpoint why Telegram replies are failing?

warm needle
#

Does the web ui even work for you?

paper belfry
#

I'll try it

#

No action on the web

#

I'm contemplating just completely uninstalling and doing a full reinstall

true hare
#

Which actually surfaced some deeper issues with cron idempotency

#

The follow up PR in #24166 does the following now:

  • You can still enter legacy Telegram targets (@user, t.me/...) in config/cron
  • At send time, OpenClaw now requires numeric chat ID for Telegram API calls
  • If target is legacy, it resolves via getChat, uses numeric ID, then writes back numeric target to config/cron
  • If legacy target cannot resolve, it fails clearly (no silent fallback)
true hare
wind vale
hushed birch
#

idk if this is useful

#

technical reason:

when i use sessions_send, it creates a session and injects a message. coder replies to that session. but the reply delivery doesn't remember the message came from topic 2 — it just sees "this session was created by sessions_send" and defaults to sending reply back to me (inter-session).

the Telegram plugin doesn't preserve the message_thread_id (topic) through the sessions_send → reply cycle.

it's a bug/limitation in OpenClaw's Telegram delivery for sessions created via sessions_send vs regular incoming messages.

fix would be in the OpenClaw Telegram plugin — needs to carry the thread_id through the session to reply correctly 🐦

wind vale
#

I'm going to be testing it now, but according to the llm it did it 🙂

Change in src/infra/outbound/outbound-session.ts:

  1. Session key now includes thread ID for DM threads:
    • Before: agent:main:telegram:123456789 (same for all threads)
    • After: agent:main:telegram:123456789:topic:42 (distinct per thread)
  2. from field also distinguishes DM threads:
    • Before: telegram:123456789
    • After: telegram:123456789:topic:42 when thread exists
#

ohhhh.... I also see the Feb 9th telegram bot updates include ability to create dm threads ... 🥩 😋

warm needle
wind vale
warm needle
#

Ohhh this is way better than having to use a group chat

elder silo
#

Howdy. I'm running OpenClaw 2026.2.22-2 on Arch (Node 25.2.1). Telegram channel is configured in openclaw.json with enabled: true and a valid bot token, but the Channels table in openclaw status is always empty. No Telegram initialization appears in foreground gateway logs at startup — it's like the channel is being silently skipped.
Things I've tried:

openclaw plugins enable telegram (writes to config, shows "disabled" after restart).
openclaw config set channels.telegram.enabled true.
openclaw config set plugins.enabled true.
Multiple clean gateway restarts via systemctl.
openclaw channels add --channel telegram --token <token> → "Unknown channel: telegram".
openclaw channels capabilities → "Unknown channel".
Confirmed bot token is valid via curl to api.telegram.org.
No network issues — Telegram API is reachable.

Config has the correct structure under channels.telegram with enabled, botToken, dmPolicy: pairing, etc. Gateway starts cleanly and is reachable. Just no Telegram.
What am I missing?

wind vale
elder silo
#

@wind vale , Four hours of grinding through config files, plugin states, and token rotations — and it all came down to one undocumented config key. THANK YOU!

warm needle
#

Did you ask your agent to troubleshoot itself tho

elder silo
#

That was my first attempt / waste of tokens. Then Claude and I tried everything, more than once. Classic.

round sapphire
#

{ plugins: { entries: { telegram: { enabled: true } } } }

#

This one. Just faced the same issue

elder silo
#

@wind vale all of it

wind vale
#

Anyway .... before I could try and test the threads thing, I had to fix my webhooks again after upgrading to the latest version. Would it be too much to ask to consider this "drastic" change? https://github.com/openclaw/openclaw/pull/20420

warm needle
#

Hmm. With threaded dms on now it seems like crons that have output just target whichever random thread I was already in

wind vale
# warm needle Hmm. With threaded dms on now it seems like crons that have output just target w...

I sort of got the targetting and tracking of proper DM threads working. But looks like in tg there is also a way to target the "no thread specified" user, and it just goes into the main "new chat" UI (on the desktop client) where all the different threads are intermixed with headers. I actually rally love it, only wish there was another "no thread" button to click, so that I could see these hidden messages that have no thread specified and answer them.

#

maybe I should post it as a draft PR :/

warm needle
#

I think overall I liked the way a supergroup worked better except that there’s no way to prevent me from typing in the general channel and all of my threads show up in there.

#

And the way it shows that something is from a thread is different and much more subtle

#

I kept accidentally replying to threads in the general channel

#

You also can’t rename DM threads and if you want to use the top tab bar (which you def do on a phone) the only way to see more than like two is to intentionally name them with single emoji names. Which, btw, you also can’t change the icon for the threads in a dm

wind vale
warm needle
#

I mean it’s obvi better than that, but, that’s not the only other option

wind vale
warm needle
#

I think topics are better except for the one thing where I can’t lock myself from posting to general

wind vale
warm needle
#

Yeah, I did that, but I can still post there, it’s just hidden

wind vale
warm needle
#

The latter

wind vale
#

I guess its telegram's bugs and issues. My bot can't post to general, as it is not an admin in the group.

warm needle
#

Can’t post screenshot but the top bar says “reopen topic” and yet I can type in it

#

Okay but I can

#

Which is actually the problem

#

It just shoves whatever I type in the all chat into general. It’d make more sense for it to go to the last displayed thread

#

Or if I could make it default to topic view …

wind vale
#

tbh with groups and topics, I for some reason can't even see a general anymore in my group. at least in the desktop app.

warm needle
#

Scroll up harder. Or look in the all channel

wind vale
#

you have your group setup as a list of topics, or tabs of topics?

#

ah! found it...

warm needle
#

It doesn’t matter, because it doesn’t stick, but as a list of topics, it doesn’t show up unless you scroll past the top

wind vale
#

right, but why would I want to post messages in general? I closed it for a reason.

warm needle
#

Sure. So now click “all”

#

Which is the default when you enter it - you can’t save the topic view, you always start in message view, in the all channel

#

Let’s say you look at this and see a message from the bot. It’ll show you all of them, from any of the threads. You then just hit that text box, and reply to it.

Oops! You replied in #general even though you closed it and never want to post there

wind vale
#

anyway .... I don't mind the general topic (id = 1), as I muted it and locked it, and I don't post there. and either way, I'm working on making DM threads work in addition to groups, because I don't actually have a private group with myself, the group is with other people.

warm needle
#

Can’t you make another group though?

wind vale
#

I can, but I don't actually want to? 🙂

#

I want threads to work!

warm needle
#

I wouldn’t mind them working but they’re worse UX than groups. Except that one thing lol

#

You also can’t switch to a topic view in the dm

wind vale
#

Also, with threads I can see a list of all messagess across all threads in a single scrollable view, with the thread names/icons being the headers for the separators. I actually quite like that.

warm needle
#

You can see that in a group too

#

That’s the “All”

#

It just is a little more subtle with the heading. It’s there, though

wind vale
#

what do you mean I can't switch to "topic view" in the dm? what you said about it taking too much space and you having to name them as emojis and placing them up above the chat?

warm needle
#

DMs don’t have a topic view the way groups do, where you see each channel separately.

Do you use a phone?

#

Like, it’s very obvious why you wouldn’t want to have the tabs to the left on a phone

wind vale
warm needle
#

It uses like a third of the horizontal screen space

#

That’s not topic view. That’s message view with a tab bar

wind vale
#

oh you mean a page where the list of topics exists, like in groups

warm needle
#

Which can either float to the left or above the messages, on a phone

#

Right

wind vale
#

I don't mind it not existing tbh

warm needle
#

DMs only have message view

#

You can’t see a preview of the last thing you said so you have to click through all of them

wind vale
#

right. well, its more of a telegram thing, who knows, maybe they'll implement it in the next release or something. these threads are fairly new, from December and February.

warm needle
#

It’s a useful feature, and it not being there means it’s just a worse UX. Same with not being able to rename or change the icons of the threads .. though maybe that is on desktop? That’s annoying

wind vale
warm needle
#

There’s no “manage thread” on dm threads on mobile

wind vale
#

you're right, just checked.

#

it exists on desktop

warm needle
#

I guess I don’t get why you don’t want to use groups, it’s exactly the same thing except it works on mobile and has more features

#

But hey I’m not using your setup so 😉

#

I am kind of bewildered why they are so different, from a “why is the app like this” standpoint. DM threads came later, right? So they had all this stuff working for supergroups and then … did something else entirely for this?

wind vale
#

I'm fairly sure that eventually, in the coming years, telegram will bring most of these features into threads as well 🙂

#

DM threads only appeared last December afaik. And the "create new thread" API only appeared this February

warm needle
#

Right so they had supergroups for much longer

wind vale
#

and they don't have the "all" view, they have the "new chat" view, which creates a new thread each time you type in it.

warm needle
#

Right, it’s similar but not exactly the same. It works how I wish you could make general work in supergroups. But whatever

wind vale
#

you think I should just abandon supporting these in openclaw and just open a group with myself? or its still a worthwhile persuit?

warm needle
#

I mean, I think it’d be neat to have all the features supported. Don’t let me stop you from PRing a bunch of fixed. But personally, groups work better rn on mobile, and it sounds like they already mostly work in general, so I’d at least see if it worked for you

wind vale
#

I also saw there was a closed huge PR in openclaw's repo for supporting non-bot channel, like an actual user with a phone number.

#

which could be pretty awesome imho, since a user can join other groups and lurk for data.

warm needle
#

And also it can read my messages and reply for me directly xd

wind vale
#

are you using inline mode with your bot?

warm needle
#

Inline what?

wind vale
warm needle
#

Ooh

#

I should enable that and see what happens

wind vale
#

like when you type "@gif whatever" thats an inline bot

warm needle
#

Yeah, the next question is what will it do if someone that isn’t me ats it

wind vale
#

I also see bot settings have an option to "disallow users to create new threads" .. that is nice 🙂

#

yep, it very briefly shows BAD_FORUM_CREATE_FORBIDDEN, and shows an empty thread when existing it it asks if I want to discard the message. that can be nice for saving myself from accidentally creating new threads in the dm.

#

the ui for "new thread" obviously is still in there 🙂

warm needle
#

Hmm, can the agent rename the threads?

formal valley
#

ayo. just found this channel wooo. so i'm trying to setup multiple agents on tg. i created teh supergroup, created the topics. but now do i have to create separate bots for each topic? what do a lot of you do here? how do you keep your main agent in the loop when you do that? so far i just tel lhim and he delegates

warm needle
#

The way I use topics is to have separate contexts open simultaneously

#

I haven’t dove into getting entirely separate agents to respond in different topics but separate bots would certainly be one way

#

I feel like it should be possible to set a target agent in a particular topic, but I think it might actually require the separate bots unfortunately

#

They’re pretty lightweight at least

formal valley
#

so i created 4 new bots. created teh supergroup. added them. but not sure how to restrict them to just one topic.

formal valley
#

just wont' get it to work reeee. has anyone been able to do it successfully?

warm needle
#

Well, at least if you created four bots, you can just do DM threads with them

hushed birch
#

i was loving group and topics

#

my telegram is breaking 😪 debugging rn

true hare
hushed birch
formal valley
#

i mean it's fine, but damnit i'd of loved to have one central thing. vs 5 agents pinned

warm needle
#

well, you now have a pet feature you could ask your agent to implement

#

remember to ask it to look on github and see if there's an issue or a PR for it

true hare
#

Any big pending Telegram issues?

#

I believe the big cron / delivery target issues should be fixed now

#

One thing I’d really like to see is Discord style threads for subagents

#

Wish there was a way to do that in TG

silk portal
#

Found a bug in cron + sessions_spawn on 2026.2.23+.

What happens: I have a cron job that spawns subagents to fetch RSS feeds in parallel and compile a news digest. Since 2026.2.23, the cron agent spawns the subagents, immediately says "Waiting for sub-agents..." and stops. That "waiting" text gets delivered as the digest instead of actual news. Subagents finish later but nobody collects their results.

Why it broke: A recent refactor added a note to sessions_spawn tool results saying "do not poll/sleep, results will come back automatically". In a normal chat session that's true - subagent results announce back. But in a cron job, the agent turn IS the entire run. When the model reads "do not poll" it stops working and responds with text, which ends the cron run. Before this note existed, the agent would naturally wait for subagent results.

Existing fix attempt: https://github.com/openclaw/openclaw/pull/27330 tries to suppress the note for cron sessions but uses startsWith("cron:") - which never matches because session keys look like "agent:main:cron:..." not "cron:...".

My fix: https://github.com/openclaw/openclaw/pull/27470 - changes to includes(":cron:") + 4 regression tests. Tested locally: digest went from 43s broken ("waiting for sub-agents") to 257s working (full news digest with 30+ items).

Issues: https://github.com/openclaw/openclaw/issues/27308 / https://github.com/openclaw/openclaw/issues/25069

#

cc: @true hare

true hare
#

Cos I think crons already have a fixed canonical shape like agent:<id>:cron:...

#

@silk portal I pushed a small commit that re-uses the existing isCronSessionKey. Can you check if this still works?

silk portal
#

checking

#

test answer came to wrong topic in telegram 🤦🏼‍♂️
looking into why it's happening, if it's something new or old

#

confirmed, it works

true hare
silk portal
#

@true hare 1sec

#

wait

#

Do we want to add a const here?

#

const note =
spawnMode === "session"
? SUBAGENT_SPAWN_SESSION_ACCEPTED_NOTE
: isCronSession
? undefined
: SUBAGENT_SPAWN_ACCEPTED_NOTE;

#

for cron for where undefined is?

#

It works fine right now, just thinking if we want to do it even cleaner?

true hare
#

I think it's fine as is

silk portal
#

cool, let's merge then

#

It had a similar fix + something different, which probably got in the PR by mistake

silk portal
#

@true hare have an idea: what if we append /stop to each last message in telegram that bot is sending? (and remove it from previous ones)
That way it would be super quick to stop bot from doing something wrong, cause typing /stop or looking for it in the menu is kinda slow

true hare
#

BTW it would be really cool if we could have something like Discord. Where you can spawn a sub-agent and that sub-agent executes only under a new thread in Discord

#

It looks really cool IMO

#

But I don't think Telegram even has threaded sub chats like that

silk portal
#

discord does same thing as slack, I guess?

#

Yeah, max we can do in tg is bot topics

silk portal
fading storm
#

Strange behavior today my ui chat channel and my telegram chat channel have always been the same. as of this morning on .25 i am getting api rate limit errors only when I send a message in telegram and only as part of the response. The ui chat channel shows the response while the telegram says API rate Limit and then Ill check the key systems for anything needing attention at this time.

#

seems my problem seems to be with outbound telegram delivery.

true hare
fading storm
#

Yes can do

#

Hmm was set to polling already

#

Looks like the reset let one through and then this again - will trouble shoot from tg side.
⚠️ API rate limit reached. Please try again later.

I'll check the key systems for anything needing attention at this hour.

fading storm
#

My main chat got stuck on GLM-5 and its one thread limit thing on the coading plan could not get it to swiitch back to my nomrla model unles si killed the session as a whole

#

So not a telegram issue.. will go dig into the logs and figure out why and report if needed. thanks for the sugegstions

silk portal
#

Can we get #22929 merged? It's approved and the fix is solid.

This has broken my setup twice now during upgrades — openclaw gateway install regenerates the plist without NODE_EXTRA_CA_CERTS, Slack SDK crashes with "unable to get local issuer certificate", and the daemon won't start. Every time I update I have to manually patch the plist to get the daemon running again.

https://github.com/openclaw/openclaw/pull/22929

#

cc: @true hare

#

Rebased #22929 with conflicts resolved → #27915

This fix adds NODE_EXTRA_CA_CERTS to the LaunchAgent plist on macOS. Without it, the daemon crashes on startup because Slack SDK (and other HTTPS clients) can't find system CA certs. Foreground mode works fine since it inherits shell env.

This has broken my daemon on every single upgrade — plist gets regenerated without the var each time.

https://github.com/openclaw/openclaw/pull/27915

hardy iron
#

Hey @true hare! I built a reductive memory module for OpenClaw (openclaw-memory-v3) and integrated Telegram notifications into it. Since you maintain the Telegram provider, would love to get your thoughts or feedback! GitHub: https://github.com/sunhonghua1/openclaw-memory-v3

silk portal
true hare
#

@silk portal is your Claw able to see a reply's parent messages? I don't think mine is able to see the parent, especially if I reply to an image

silk portal
#

In telegram?

true hare
#

Yeah

#

Ahhh, reply context is metadata only, not the actual image file

#

I feel like this should be changed. If I reply to an image, claw only sees <media:image> not the actual image again

silk portal
#

Ah
Just checked, it works fine for text
Don’t have images in recent chats

Yeah, definitely should understand and image as well

true hare
#

I'll try to get a PR out for this

silk portal
#

Lmk if you need your fix tested

drifting tiger
#

Today My Opus is so slow to repply in Telegram , its only me ?

wind vale
#

Is there a way to configure cron annoucements to use a default destination for all failures? Or to override it for per-job failures?

silk portal
silk portal
#

🔥🔥🔥
Thanks!
Will test it out

silk portal
silk portal
true hare
silk portal
#

Thanks!
15m from PR to merge is 🔥

true hare
#

Hah we don't have to do our hacky edit streaming anymore

#

Now every bot can do message streaming

wind vale
true hare
#

Only DMs though 😔

wind vale
true hare
#

And we were maintaining like 3 ways to stream the text

wind vale
true hare
#

Reviewing

#

If you can sort out the Codex comments I'll be happy to merge it

wet warren
#

OpenClaw v2.22 works fine, but starting from v2.23 (and any later version), when I use it with Telegram, it throws the error below and can’t communicate. How can I fix this?
07:17:48 [telegram] telegram deleteMyCommands failed: Network request for 'deleteMyCommands' failed!
07:17:48 [telegram] telegram deleteWebhook failed: Network request for 'deleteWebhook' failed!
07:17:48 [telegram] webhook cleanup failed: Network request for 'deleteWebhook' failed!; retrying in 2 .42s.

wind vale
warm cape
#

@formal valleyHi, have you resolved the "one group with multiple agents" problem, i found that i can mention any bot, and the mentioned bot also can reply to me, but when one bot mention another bot, the mentioned bot couldn't reply

true hare
warm cape
true hare
wind vale
true hare
wind vale
true hare
#

Can you try with another model? Also it only works on mobile right now

#

I think Telegram Desktop update isn’t out yet

wind vale
#

I mean the desktop showed the whole thing before the mobile finished ... 🙂

true hare
true hare
#

Let's hope Durov brings message streaming to groups too

wind vale
#

I tried upgrading desktop to latest, v6.6.1 and I didn't notice it working with the streaming thing.

verbal torrent
#

typing indicators are completely gone after the fixes to stop them from running indefinitely right?

Also... I asked "hey, what is the key combo on Mac to get the emoji keyboad"... boom got a reply. Thanks... used it... a minute later... reply bubble gets deleted from the chat in Telegram app... WTW?

true hare
verbal torrent
#

Working on making it so you can actually approve a coding-agent escalation request in telegram.

true hare
verbal torrent
#

Use this as an example prompt - don't stomp on my fix though 😂

/coding_agent in the foreground I want you to check npmjs.org for a package named "diver".  Don't use Playwright MCP. I want to test the approval workflow to exit the sandbox.  Let's run this in the ~/github/openclaw project

You should get: zero context - no idea what it's for no directory that it's in, no guidance on how to approve, and it doesn't even tell you what command it wants approve for, nothing. If you do know that you take the code and reply with /approve [code] allow-once then it will still fail... it'll tell you the code doesn't exist.

I have fixes for all this in hand.

true hare
verbal torrent
true hare
verbal torrent
#
/coding_agent in the foreground I want you to check npmjs.org for a package named "diver".  Don't use Playwright MCP. I want to test the approval workflow to exit the sandbox.


🧩 Perfect—that hit the approval gate exactly. Please approve request 1e947db7 and I’ll immediately finish the npm check for diver in the foreground.


/approve 1e947db7 allow-once


❌ Failed to submit approval: Error: unknown approval id

That's what I get on main. Always... been that way for weeks.

#

This is what I have in my TOOLS.md for each of my agents:

## Skills

When using a skill, respond with the configured emoji for the skill at the start of the message.

- Codex - If asked to code with Codex CLI or any request that causes you to decide to invoke codex, use the `coding-agent` built-in skill
#

Second order effect is: /approve detaches the turn... so even when the agent is running in foreground mode... it gets detached and can only raise a system event heartbeat to indicate that it's "done" after that point... and it can't ask for anymore approvals.

This is why I've been trying to figure out how Peter uses OpenClaw for coding with Codex. I'm convince he tells it "yolo" every time and tries to one shot every single coding task with the initial prompt because it simply does not appear to work if you want to use it any other way.

wind vale
#

My MiniMax-M2.5 agent keeps adding Chinese characters to things, including image URLs from Telegram. It is a little bit annoying, but very funny. For example it added 在地上挨媎我怎麼在這裡 in https://telegram-cdn.ir在地上挨媎我怎麼在這裡/@kesor.../photo_1.jpg ... and Google Translate said this means How did I end up here, lying on the ground? 🙂

warm needle
#

some of the chinese models will do that, you can help it by increasing min_p but that makes their output generally worse

verbal torrent
#

Do we have our own VISION.md for Telegram support in claw?

wind vale
#

Question -- Shouldn't it be possible to assign a specific agent to listen/answer in a group/dm topic? I thought that is supported, but the more I'm looking into the code and docs, it doesn't look like its the case. Should I add support for that?

There are existing PRs though ... #10576 #17732 #15154 #27562 #31473 #31513
but the added support that I created and merged for DM-topics is lacking in all of them.

RFF (request for feature?) -- https://gist.github.com/kesor/90162d2dacb1d71f846bedb8f18ffabf

warm needle
#

You could always pick your favorite existing PR and fork it

#

I definitely want this feature

wind vale
wind vale
warm needle
#

Just credit the original author

verbal torrent
wind vale
#

I'm using it now with my DM+Topics bot ... so I have a dedicated channel now in the DM where I can talk to the coder agent for a specific project of mine. vs all the other topics where I just chat with the main agent.

wind vale
true hare
verbal torrent
#

So my assumption that my /coding_agent invocation was using Codex CLI was wrong... I added code that relays the command that is asking for approval. It was relaying that npm was asking for approval and I thought this was from Codex CLI attempting to run npm. But when I remembered to tell it "use Codex CLI" it asked me for approval to run codex CLI with a single prompt...

verbal torrent
verbal torrent
verbal torrent
#

Now... why don't we have thread-bound ACP yet? I don't get what the flurry of new slash commands do... /focus /session... wut... I'm trying to grok it now with Codex.

In theory the thread-bound stuff would map to topics in DMs and Groups in Telegram right?

true hare
verbal torrent
#

Hmm... I'm reading about it... I think I dislike it... gonna continue on my Codex App Server exploration. Maybe I have something better or nothing at all 😂

true hare
verbal torrent
# true hare This has now landed on main

It doesn’t work… or it does but has restrictions that make it hard to figure out the surface of what works and doesn’t.

But… luckily the implementation I was doing last night can be and has been adapted so I can get “thread here” binding working and I can actually get spawns to work.

#
## Permission configuration

ACP sessions run non-interactively — there is no TTY to approve or deny file-write and shell-exec permission prompts. The acpx plugin provides two config keys that control how permissions are handled:

Oof... that's not as good as what I'm building... I swear I had escalation working for ACP last night too...

#

I wish I could easily put screenshots here... I guess I could modify the screenshot skill to allow it to easily upload to imgur and emit the URL so I can just copy/pasta it here... Off to open another worktree 🤣

verbal torrent
#

https://github.com/openclaw/openclaw/pull/36683

I've made thread/topic binding work for Telegram with ACP, fixed the various issues on Mac with Telegram that prevented using it at all (-- being replaced with emdash in Telegram Mac client, causing parsing of spawn flags to fail).

Screenshots in the PR showing that almost nothing worked before and that now you can have different topics with different agents bound and that messages route automagically to that ACP session.

true hare
verbal torrent
night vortex
#

Hey, I'm trying to get things rolling with OpenClaw (first time using it). I've got a setup, with one agent working on telegram, both DM and Group Chat with mentions. Now I've added a second agent (distinct agent with it's own workspace), and I can dm it fine on telegram, but when I added it to the group, it seems to ignore @mentions and I'm not sure why... I currently have channels.telegram.groups has the group in it with requiremention true, and grouppolicy open, and then in channels.telegram.accounts.botaccountname I have grouppolicy allowlist for both bot accounts... I assume there is something I've done wrong, anyone else running multi-bots in a group chat that can help?

verbal torrent
#

https://github.com/openclaw/openclaw/pull/37233

I think I have fixed Exec approvals (such as when using /coding_agent) on Telegram where it currently just asks for approval, doesn't say how, then rejects the codes even if you figure out that it's /approve [code] allow-once.

  • Approval requests presented as buttons
  • Buttons removed after clicking one
  • Approval actually works (doesn't say invalid code)
  • Responds in correct Telegram Topic
  • Exec is able to respond after the approval - currently it looks like the "turn" is ended by the approval workflow, which resulted in the agent NEVER being able to respond after an approval. You'd have to ask what happened. This was changed to use the heartbeat mechanism for a system event with routing back to the correct topic - resulting in the exec being able to tell you what happened.
verbal torrent
#

https://github.com/overtake/TelegramSwift/issues/1350

Using / developing for OpenClaw has been a journey in fixing problems with every other project in existence 😂

macOS Telegram client closes the slash command auto-complete as soon as you put an _ in a command name like /coding_agent... we map all the skills from - to _ since only letters, numbers, and _ are allowed on command names. Works on iOS - autocomplete stays open. But on macOS it closes the autocomplete.

verbal torrent
true hare
#

Weird

verbal torrent
verbal torrent
#

Have you guys seen this too:

  1. In a Group (with you and bot only) with Topics
  2. Mac - Full app
  3. Top right ... menu on the group becomes just Delete, Edit options
  4. Can't create new topics...
  5. Go to another chat group, come back to this one, click back on All and now the option for Create Topic and the others will re-appear
normal crow
true hare
verbal torrent
verbal torrent
#

I can code in Codex using threads I started in Codex Desktop via Telegram on the treadmill now... see plan docs, approve exec commands (not forced to use yolo mode), and more. Anyone interested?

true hare
#

BTW ACP sessions on Telegram topics persist across restarts right

true hare
verbal torrent
# true hare BTW ACP sessions on Telegram topics persist across restarts right

Yes, well... there is a temporary mode... but I don't know why... I only ever used it with persistent... partly because I live with pnpm gateway:watch on my primary claw... and it's going down/up like once a minute 😂

That's why I made this PR to ignore the .test.ts on the gateway watch: https://github.com/openclaw/openclaw/pull/36211

GitHub

Summary
Describe the problem and fix in 2–5 bullets:

Problem: pnpm gateway:watch restarted the gateway for any watched workspace change, including *.test.ts edits.
Why it matters: test-file churn ...

true hare
#

So the only reliable way to fix the duplicate message flash is to remove the draft -> message handover and stick to editMessageText 😔

sturdy ether
verbal torrent
true hare
#

I've got like 4 emails today alone for the duplicate issues 🥹

#

Landed

true hare
#

In the Telegram client apps, I mean. And that we might not be doing anything wrong

warm needle
#

I love how the telegram app crashes when I send a message in a threaded dm sometimes

rain trout
#

does anyone else struggle with configuring telegram group permissions?

Example:

  • Allow DMs from only me
  • In groups: Respond to everyone who mentions the bot
#

I find it quite annoying to configure DMs, topics and group perms. wondering if we should add such configs to telegram menu

wind vale
#

I just redeployed fresh main, and I still get the duplicate message thing, with the second message missing a piece of the first line or two. Should I upgrade the telegram client to have it fixed?

true hare
#

Can you figure out a way to reproduce it? I haven't been able to

wind vale
#

I don't think its a rendering issue though. Since I can delete one of the messages and the other one remains.

#

and sometimes the first message has a NO_REPLY at the end, while the second one doesn't.

#

I'll try and mess around with the streaming configurations, I remember changing it in recent days, and this issue also appeared recently.

true hare
#

Yes please. I have so many claws running and I am just not able to reproduce it anywhere.

wind vale
#

PS: idk if related, but I have a setup for minimax via openrouter (and via cloudflare ai gateway) and when using this thing in OpenCode I also had this weirdness https://github.com/anomalyco/opencode/issues/15092 ; Opencode was working fine with minimax directly. It might be related to the duplication in claw, since I use a similar setup in there (cloudflare ai gateway -> openrouter -> minimax). And I did change it recently, so it might be an openrouter thing.

true hare
wind vale
true hare
#

still not able to repro this

wind vale
true hare
# wind vale is there some debug flag I can turn on?

Can you give this to your coding agent:

Reproduce the Telegram duplicate-message bug end-to-end with real LLM calls.

Rules:
- Use the real inbound Telegram path through `src/telegram/bot-message-dispatch.ts` / `createTelegramMessageProcessor`.
- Do not use `openclaw agent --deliver`; that bypasses the bug.
- Use actual Telegram delivery and actual model/tool calls, not mocks.
- In the temporary harness, set `replyToMode: "off"` so fake inbound message ids do not corrupt preview sends.
- Instrument Telegram API calls and log every `sendMessage`, `editMessageText`, and `deleteMessage`.

Steps:
1. Create a fresh temp file with a random first line.
2. Send one synthetic inbound Telegram message through the real processor to chat `<CHAT_ID>` and topic `<TOPIC_ID>` with this user prompt:

   Before any tool call, print exactly one line: <MARKER> first half visible now. Then use the read tool to read only the first line of <TEMP_FILE>. After the tool returns, output ONLY the continuation text: / <first line>. Do not repeat or restate the first line. Keep total visible output under 140 chars.

3. Confirm whether one inbound turn causes more than one real `sendMessage` to the same chat/topic.
4. If it reproduces, identify the exact code seam and the smallest fix.
5. If it does not reproduce, explain why, then try one stricter variant that still forces a real tool read.

Deliver:
- the exact API call sequence
- whether the duplicate is real or just rendering
- the root cause with file/function names
- the minimal patch plan
wind vale
#

is this "can edit via preview" a bot permission thing?

true hare
true hare
sturdy ether
shy ridgeBOT
true hare
#

There are so many different people running so many different configs 🥹

sturdy ether
#

The amount of config permutations is too damn high!

true hare
verbal torrent
#

What do you guys think of this?

I got rid of the heartbeat usage to send the post-approval exec tool result. Still sends the result though.

I also changed it to not try to LLM-prepare the approval dialog... it's deterministic.

#

That's this PR: https://github.com/openclaw/openclaw/pull/37233

Completely refactored after looking at it with the review scripts.

I'm setting up Discord now to see if it breaks or improves the approval workflow in other channels.

GitHub

Summary
Describe the problem and fix in 2–5 bullets:

Problem: Telegram exec approvals could fail with unknown approval id due to approval-id mismatch/rotation between prompt and resolve path, appr...

rain trout
true hare
verbal torrent
#

Do we have any evidence that execApprovals are enabled/allowed/working for Telegram at all?

https://docs.openclaw.ai/tools/exec-approvals

It seems that it may be semi-intentional that approvals are not allowed / working right now because we never added this config option like Discord and don't allow filtering to specific Telegram peer ids (durable user number that can't be reissued).

So my PR may need to expand to:

  1. Add execApproals and approvers configs like Discord
  2. Document these settings
  3. Make sure we use the same hook points as the Discord button-enabled approval workflow
true hare
verbal torrent
#

Ok, yeah... I don't even get working exec approvals in Telegram DMs with the bot... so I think this is just 100% not supported / not working today so I don't have to worry about breaking anyone.

If you guys want to just try in a group / group topic / dm this prompt it's a pretty safe way to confirm if it's going to A) ask you for approval B) accept the approval (it'll should say the id is not found)

/coding_agent Let's run npm to find out if there is a package called diver.  You'll need to ask for approval I believe.  We are testing a feature... so we're going to keep repeating this.
verbal torrent
true hare
verbal torrent
#

heh... yeah so it's broken. Is that in a DM or group? You can try telling it "approved"... and it won't work... then it will probably give you an approval code and you'll eventually figure out to do /approve [code] allow-once and that will get rejected and it will probably say "oh, the code rotated, try this" ad naseum.

#

I just need to make sure this doesn't work for anyone...

wind vale
true hare
#

No permission check

true hare
wind vale
true hare
wind vale
# true hare Can you try with another model maybe? It might just be the model / your config

took me forever to set it up, but I got the exact setup I had before, just sans the openrouter in the middle.
instead of openclaw -> cloudflare-ai-gateway -> openrouter -> minimax
it is now just openclaw -> cloudflare-ai-gateway -> minimax
and there are no duplicate messages anymore, even though I am still running with your patched PR code.

so it might have something to do with openrouter afterall 🤷‍♂️

sturdy ether
#

wait really?

#

crazy... truly a phenomon we're witnessing with duplicate messages

wind vale
#

my guess is that openrouter triggers some logic in the telegram code that uses some failover because "things failed", and that causes double messages.

sturdy ether
#

hmm i'm wondering now if our issue templates collect provider info, if known. seems like it could be a useful datapoint to collect.

wind vale
sturdy ether
#

yeah that is a complex setup

#

i send all my tokens directly to China so they can spy on me without the middlemen

wind vale
#

I wanted to have a man-in-the-middle so that I could inspect the requests and count the failures, if any.

#

looking at the requests is quite illuminating with regards to potential optimizations with the context. like I created a small agent with no tools and no soul and no nothing just for the cron jobs that runs skills for example.

#

which actually doesn't even work, because cronjobs can't be stripped from the identity stuff. but heartbeats can ... so I'm doing the crons from the heartbeat 🙂

sturdy ether
#

--light-context?

#

i think that strips identity stuff from cron

wind vale
#

I didn't find it in crons, I only found it in heartbeat configs.

#

I'll take another look

sturdy ether
#

okay

verbal torrent
#

Ok, I'm going to merge this... finishing up the review/prepare now: https://github.com/openclaw/openclaw/pull/37233

The changes are now more like the discord changes. I added configs for execApprovals. I tested all the corner cases I could think of. Neither having approvals enabled (show up in web ui). Both having them enabled (show in both + web ui). DM and channel routing in Telegram. When it sends a message somewhere else it gives you a brief, non-info-leaking, clue that it did that. Fixed some LLM prompt processing of approval prompts that I saw leaked into discord. I'm not claiming it's perfect... but it's about 1 full day more than I had wanted to spend on this 😂

GitHub

Summary
Describe the problem and fix in 2–5 bullets:

Problem: Telegram exec approvals could fail with unknown approval id due to approval-id mismatch/rotation between prompt and resolve path, appr...

true hare
wind vale
sturdy ether
#

If you can reliably reproduce it and resolve it then are able to ask your clanker to fix the root cause (test obviously) and send in a pr?

wind vale
wind vale
true hare
wind vale
feral canopy
#

Hi guys, this ended up taking more time and being a bit more of a thing than I intended it to be, but you know how it is. The new tests make the PR line counts look a bit scarier at first glance than they actually are, though. 😅

My telegram integration has been broken on main with Network request for 'sendMessage' failed messages for the last week or so, which stems from recent changes to EnvHttpProxyAgent / autoSelectFamily handling within the channel code - in my case a constant flip-flopping between transport policies with different parts of the stack trying to update the global handler config and getting itself into a bit of a loop.

An initial fix around making the autoSelectFamily support sticky got me back up and running, but in reviewing the code and the various related gh issues/prs I've become convinced that the current approach with a global handler is not ideal, and is triggering issues from coupling the account/request-level transport decisions to a shared process-global state. So even when one path successfully falls back, later calls from a different path/account can re-apply different global settings and effectively re-trigger the same instability pattern (and noisy fallback logs).

I also found that different parts of the Telegram stack were not consistently using the same transport resolution path and/or calling fetch directly, so probes, doctor/status checks, sends, audits, and media downloads could behave differently under the same network conditions.

I've prepared and reviewed a PR that moves Telegram networking to resolver-scoped dispatchers (instead of a global handler), unifies those network paths, better handles fallbacks, and adds a range of new tests to ensure consistent handling and fallbacks.

I know @fading field has done a bit around EnvHttpProxyAgent / autoSelectFamily support recently, and you've all been pretty involved in the tg channel code, so I would love to get any thoughts / feedback / added context here.

true hare
true hare
rain trout
#

I think Docs can’t keep up with the pace of dev

true hare
rain trout
#

Everyone’s deving way too fast

wind vale
#

I just tested, unfortunately couldn't reproduce the bug with openrouter brought back ... :/

#

wanted to see if the newest main "fixed" it by first verifying it was broken, and can't see it broken anymore 🙂

#

I think the issue for me, is that my OpenRouter is using fallbacks like Fireworks and Friendii instead of the actual MiniMax provider.

#

aha! able to reproduce it again ... duplicates.

rain trout
wind vale
#

After the fix, and with forcing the minimax provider in the openrouter configuration via their guardrails feature.

#

it didn't duplicate when it was "free to choose". which is what openrouter usually is for.

#

the forced provider are:

  • 5.06 seconds first token latency + 19.8 tokens/second throughput
  • the Fireworks provider is 1.53 seconds first token latency + 34.0 tokens/second throughput
#

there is just not enough visibility into the actual bodies of requests/responses to see if there are any other differences

rain trout
verbal torrent
#

#40444 #40751 #40591 #41200 #40775 #40925 #40763 #40662 #40569 #40484 #40461 #40456

One issue report and 10 PRs... did not check if they are AI-generated slop or not. But in any case if we are rejecting negative numbers for groups that would be a problem. Should be easy to verify. It might be why web ui refuses to save my config file in pretty editor mode too (with no error as to why, just invalid config - not even a server side log saying why).

feral canopy
# verbal torrent #40444 #40751 #40591 #41200 #40775 #40925 #40763 #40662 #40569 #40484 #40461 #40...

did not check if they are AI-generated slop or not.
Hah, that's a yes: https://x.com/AskPerplexity/status/2031038321678528667

You can now use Claude Code and GitHub CLI directly inside Perplexity Computer.

We gave it an open issue on Openclaw. Computer:
→ Forked the repo
→ Wrote a plan to fix the bug
→ Opened Claude Code and implemented it
→ Submitted a PR via GitHub CLI

▶ Play video
verbal torrent
#

2026.3.11 - Brings “execApprovals” to Telegram for the first time ever. I messed up the change log entry so it got reported as a fix when it turned into a feature addition.

To try it, use the prompt below. If you have not enabled execApprovals in the config it should tell you it’s hitting you up on the web dashboard and possibly on Discord if configured (it doesn’t know - it’s a static message). If the web UI is up the approval will appear as a modal popup. Approve it and you’ll get the results in Telegram. Then enable Telegram execApprovals for your user id and you should get a DM (if sent from a Group Topic for example) asking for approval. It’ll have buttons! Then change the target for approvals to channel and it will send the approval in the Group Topic.

/coding_agent Let's run npm to find out if there is a package called diver. You'll need to ask for approval I believe. We are testing a feature... so we're going to keep repeating this.

Enjoy! (I hope it works!)

silk portal
true hare
silk portal
#

yeah, waiting for greptile to stop being annoying

#

will ping you

#

@true hare ready

#

Confidence Score: 5/5

verbal torrent
silk portal
verbal torrent
silk portal
warm needle
wind vale
true hare
verbal torrent
wind vale
verbal torrent
# wind vale I got this one that is waiting forever ... https://github.com/openclaw/openclaw/...

Check the greptile comment. I think you need to @greptile-apps please re-review latest code in a comment. It says some of the stuff is non-functional but it's from a week ago.

Also... it's a big surface.

I'd say: make a video if you can like this: https://github.com/openclaw/openclaw/pull/36211

Show some of the use cases. That would go a long way towards helping people understand it.

The removal of explicit types and changing to string for some values is going to catch some eyes.

If you have no already do a /review in codex then ask it to fix any issues. Then ask it if this is the most concise /focused way to implement the objectives of the PR and whether this can / should be split into more than one PR (not saying it should - saying ask).

wind vale
wind vale
verbal torrent
#

Let me land some things today... once we get our project out of the way I'll try to mention this one.

#

Actually... I know another maintainer who might want to take a look

unreal solstice
#

thanks for the ping @verbal torrent
@wind vale i will look at your PR in more details soon
i've been working on completely overhauling the plugin system so plugin code is fully owned by plugins (aka extension host/adapter style) and kernel only orchestrates and is plugin agnostic
it changes the whole plugin surface and allows for functionality like the one you seem to be proposing in the PR; i can point to the implementation if you want to take a look and give feedback

true hare
wind vale
wind vale
unreal solstice
#

yea, goal is to have everything be a plugin, including providers for auth, search, channels, tools, commands/services

silk portal
silk portal
#

Hi friends!

New PR: auto-rename Telegram DM topics on first message using LLM.

Problem - DM topics get generic names and you either rename manually or ask the bot (which it forgets).

Solution - gateway auto-renames with a lightweight LLM call, fire-and-forget, on by default. Can be disabled per-DM or globally via autoTopicLabel: false, or customized with your own prompt. https://github.com/openclaw/openclaw/pull/51502

#

Greptile says 5/5, I tested locally, everything works

silk portal
#

Thanks!

radiant epoch
#

This might be the wrong place. But I can’t get my openclaw that I just set up on Mac mini m4 to work with telegram. I have set it up inside docker desktop and that seems to cause connectivity issues (something about ipv6 but I already am supposedly forcing ipv4). Even my openclaw can’t set it up successfully. Any pointers? My openclaw uses Xiaomi mimo-v2-pro

true hare
radiant epoch
quiet spindle
true hare
# quiet spindle

I use a group with a different thread for each topic. E.g. I'll have one for work, one for travel and I even have some ACP binded sessions for Cdoex in a specific project too (thanks @verbal torrent!)

quiet spindle
true hare
#

I think you should also be able to isolated workspaces

silk portal
silk portal
rain trout
#

Hey guys, created a PR on this painpoint of mine. When you /restart, there's no confirmation the bot actually came back online. You will have to guess. My PR wires up the existing restart sentinel so you get a notification in the same chat after restart. Appreciate eyes and any feedback on it😀

https://github.com/openclaw/openclaw/pull/48103

silk portal
silk portal
#

@true hare lmk if I can help with getting my PRs merged

#

Saw you made some changes

true hare
silk portal
#

Ah, cool

silk portal
#

Bug fix: exec: SecretRef crashes embedded agent on /new and /reset

If you use exec:, env:, or file: SecretRef for channel bot tokens (Telegram, Slack, Discord), the embedded agent crashes with unresolved SecretRef on every /new, /reset, and sometimes regular messages.

Root cause: channel monitors capture config at startup before secrets are resolved, then pass this stale config directly into the reply pipeline - bypassing loadConfig() which has the resolved snapshot.

Fix: detect unresolved SecretRefs in the config override and fall back to the resolved runtime snapshot.

https://github.com/openclaw/openclaw/pull/53577 - opus was trying to fix it for 2hrs, gpt-5.4 did in one prompt 😅

silk portal
#

greptile 5/5

silk portal
#

(That's a different bug from the one I've fixed before for /status)

true hare
silk portal
#

Thanks!
That secretref apparently broke a lot of stuff 😅

drifting tiger
#

Am I the only one who experiences the “typing...” bug on Telegram—where it sometimes appears and sometimes disappears?
Also, Openclaw sometimes works, and while it sends a message, I don't always receive it on Telegram, so I have to ask them to resend it to me on Telegram.

rotund torrent
#

hi, i have a problem when using the telegram channel with my openclaw. the more i use it, the more it takes for it to answer me. when i ask, he says it's because the context is too large and then I try to compact it but it takes a long time. is there any way that the system can compact the chat automatically whenever it needs to so that it stays performant?

true hare
potent knot
#

Do we not have any way to allow openclaw to send polls in telegram?

potent knot
true hare
formal valley
#

ooof yea i'm getting really bad degradation. it's posting to wrong topics, and then resurfacing topics in other threads that it resovled hours ago.

formal valley
#

weird question, can you scope agents.md or a stype of workspace for a specific telelgram topic? like, same agent but when it goes into a specific topioc it reads from a seprate file to give it specific context on that topic channel

formal valley
#

Ya

true hare
true hare
#

Support for Manager Bots now 👀

honest quest
wind vale
inland crow
#

? For some reason adding elevenlabs is not working. Where do we place the command in openclaw to add eleven labs in the block section

gray osprey
#

Hey, I think I found an STT / audio-transcription issue in OpenClaw.

Environment:

  • OpenClaw 2026.4.10
  • Telegram enabled
  • Ubuntu 24.04.4 on virtual machine under VirtualBox
  • inbound Telegram voice messages arrive correctly as .ogg/Opus files

Problem:
openclaw infer audio transcribe returns:
Error: No transcript returned for audio: <path>.ogg

I tested both:

  • default OpenAI audio route
  • explicit Groq route: --model groq/whisper-large-v3-turbo

What I verified:

  • the inbound .ogg file is valid
  • Telegram delivery works
  • Groq key is valid and visible to OpenClaw
  • direct Groq API transcription of the exact same .ogg file works fine and returns the correct text

So it looks like the issue is in OpenClaw’s STT/media-understanding integration path, not in Telegram, file format, or Groq itself.

Logs only show:
Error: No transcript returned for audio: ...

Has anyone seen this before, or is this likely a bug?

inland oyster
#

awfully quiet in here for a hot minute; the last update borked telegram a bit painfully (while also somehow making it better in other aspects):
https://github.com/openclaw/openclaw/pull/73583
fixes is it up and parallizes groups/topics...now the only bottleneck is the single thread stream of OpenClaw

GitHub

Summary

Send Telegram native /status through the direct status helper instead of the normal buffered answer dispatcher.
Preserve Telegram topic threading/reply-to behavior for direct status respon...

silk portal
#

I’m getting context mixed up between telegeam topics with my bot after I upgraded

this is so bad....

true hare
#

Do you have any steps to repro?

silk portal
true hare
silk portal
true hare
#

@silk portal I'm unable to repro this in a forum topic group hmm 🤔

silk portal
#

Hey, sorry, was a bit busy

will test out latest version and I’ll ping you if any issues persist

thanks for making a PR!

true hare
#

Why are you posting this in the Telegram thread?

#

Is this a Telegram issue/PR?

#

Please use the #clawtributors and a maintainer will look at it when they have a moment. Keep this thread only for Telegram related issues/PRs

undone elbow
#

Issue: https://github.com/openclaw/openclaw/issues/79455

Summary:
Telegram private DM topics were being sent with message_thread_id, which Telegram rejects for DM topics with 400: Bad Request: message thread not found. OpenClaw could still report success because it retried without the topic id, but that sends to the plain DM instead of the requested DM topic.

I fixed it in this PR:
https://github.com/openclaw/openclaw/pull/78575

What changed:

  • Private Telegram DM topics now use direct_messages_topic_id.
  • Forum/group topics still use message_thread_id.
  • DM topic failures are no longer silently retried without the topic id.

I tested this with my Telegram bot and real DM topic:

  • Reproduced the issue on main.
  • Verified the PR branch sends to the DM topic successfully.
  • Added behavior evidence, logs, and screenshots/messages in the PR body.
  • Added/updated targeted Telegram tests.

Please review.

undone elbow
undone elbow
#

@true hare Thanks for review & merge, could you please check dm?

true hare
#

@wind cradle if you have any PRs just be patient or post them in #clawtributors
Please do not DM me asking me to review.

tender locust
#

Is this normal behavior ?

At telegram, when I write message like this.
"research about ..."
then openclaw assistant shows like

Bash: fetch...run jq (in ~/.openclaw/workspace)
...
web search
#

In my opinion, we need better UI/UX if not this behanior intended..

true hare
#

I think there's a config to disable it @full bobcat any idea which one

tender locust
#

Thanks. obviyus !