Making my Telegram bot detect and read messages from other bots in group chats

I’m working on a Node.js Telegram bot that needs to monitor messages sent by other bots in our group chat. The main goal is to track responses from different bots when specific commands get triggered, like /kick or /mute.

My current issue is that the bot can’t seem to recognize other bots in the group. It sees itself fine and picks up regular user messages, but completely ignores bot messages. I’ve been using Telegraf library with these approaches:

myBot.on('text', (context) => {
  if (context.message.from.is_bot) {
    console.log('Bot message detected');
  }
});

context.getChatMember(botId).then(member => {
  console.log(member.status);
});

The getChatAdministrators method only returns human admins, not bot admins. Has anyone figured out how to make a bot listen to other bot messages in groups? I really need help with this.

Telegram bots can’t read messages from other bots in group chats - it’s built that way on purpose. The Bot API blocks this to stop spam chains and abuse. Admin permissions won’t help, and privacy mode doesn’t change anything either.

I hit this same wall building a moderation dashboard and had to scrap my whole approach. Here’s what actually works: set up webhooks so the other bots send status updates directly to your bot through inline queries or DMs. You could also use userbot libraries with a regular account, but that breaks Telegram’s TOS for bot apps.

Honestly, the cleanest fix is just redesigning your setup to work with these limits instead of fighting them.

Yeah, this caught me off guard too when I was building my monitoring bot. It’s not just Telegraf - all Telegram bot frameworks have this restriction. Your code’s fine, but Telegram blocks bot-to-bot communication at the server level. Here’s what worked for me: I set up a logging channel where each bot posts what it’s doing. Instead of trying to catch messages between bots, I had my moderation bots forward their command results to a dedicated channel that my monitoring bot watches. Same visibility, no API violations. You could also try bot commands with callbacks. When your bot runs /kick, add a callback parameter so the target bot can respond directly through DMs instead of group chat.

no workaround exists - telegram built it this way on purpose. i’ve tried evrything, including mtproto, but that’s overkill for most ppl. you might want to switch to discord instead. their bot api actually lets you monitor other bots without any restrictions.