How to receive messages in group chats using telegram bot api

Telegram Bot

Telegram Bot Problem Overview


My telegram bot receives messages sent by user to my bot in private chats but not receives messages sent by users in group chats. Any options/api for getting group chat messages also,.

Telegram Bot Solutions


Solution 1 - Telegram Bot

Talk to @botfather and disable the privacy mode.

Solution 2 - Telegram Bot

Sequence within a BotFather chat:

You: /setprivacy

BotFather: Choose a bot to change group messages settings.

You: @your_name_bot

BotFather: 'Enable' - your bot will only receive messages that either start with the '/' symbol or mention the bot by username.

'Disable' - your bot will receive all messages that people send to groups.

Current status is: ENABLED

You: Disable

BotFather: Success! The new status is: DISABLED. /help

Solution 3 - Telegram Bot

By default A Bot will receive only messages addressed to it by any user directly via posting by /command@YourBot any message you send. After that it vill be available via getUpdates API call. In browser it will be:

https://api.telegram.org/botToken/getupdates

Find the related message in output JSON and grab chatId. It will allow you to answer back with:

https://api.telegram.org/botToken/sendmessage?chat_id=123456788&text=My Answer

Solution 4 - Telegram Bot

Make your bot by admin in group.

Solution 5 - Telegram Bot

You can access all avaliable settings from all of your bots by sending /mybots to Botfather. Choose the bot, then Bot Settings and Group Privacy. If its disable (default), you can tap on Turn off.

Now its possible to receive the chat history using GetUpdates. This can be done via HTTP API or the frameworks. For example, in C# (.NET Core) like this:

var bot = new TelegramBotClient(ApiToken);
var updates = bot.GetUpdatesAsync().Result;
foreach(var update in updates) {
    Console.WriteLine($"{update.ChannelPost.Date} {update.ChannelPost.Text}");
}

But keep in mind that this feature has some kind of perfect forward secrecy implemented. So you only get messages that were send after group privacy is disabled. As a result, the GetUpdates result is empty until some post was made.

Solution 6 - Telegram Bot

if you added your bot before disable the privacy mode, you should remove the bot from the group and add it again

Categories

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJijo JohnView Question on Stackoverflow
Solution 1 - Telegram BotJohannes KuhnView Answer on Stackoverflow
Solution 2 - Telegram BotapascualbView Answer on Stackoverflow
Solution 3 - Telegram BotAlexGeraView Answer on Stackoverflow
Solution 4 - Telegram BotKR1470RView Answer on Stackoverflow
Solution 5 - Telegram BotLionView Answer on Stackoverflow
Solution 6 - Telegram BotitzharView Answer on Stackoverflow