Почему юзербот в групповом чате телеграма видит только свои сообщения и сообщения с упоминанием себя?
Использую такой код:
import asyncio
from pyrogram import Client
from config import api_id, api_hash
app = Client("my_account")
@app.on_message()
async def echo(client, message):
print(message)
await message.reply(message.text)
app.run()
Есть пользователь realnikolai, он получатель сообщений, выводящий полученные сообщения в консоль.
Кроме него есть пользователь realpavelb, который создал чат с id -1002231967193 (хотя почему-то в атрибуте is_creator написано false). Когда он отправил сообщение в этом чате, то в консоль пришло это сообщение:
{
"_": "Message",
"id": 21,
"from_user": {
"_": "User",
"id": 348149609,
"is_self": false,
"is_contact": true,
"is_mutual_contact": true,
"is_deleted": false,
"is_bot": false,
"is_verified": false,
"is_restricted": false,
"is_scam": false,
"is_fake": false,
"is_support": false,
"is_premium": false,
"first_name": "Я",
"status": "UserStatus.RECENTLY",
"username": "realpavelb",
"dc_id": 2,
"phone_number": "*********",
"photo": {
"_": "ChatPhoto",
"small_file_id": "AQADAgADrqcxG2lXwBQAEAIAA2lXwBQABHRcMQkGAVS8AAQeBA", "small_photo_unique_id": "AgADrqcxG2lXwBQ",
"big_file_id": "AQADAgADrqcxG2lXwBQAEAMAA2lXwBQABHRcMQkGAVS8AAQeBA",
"big_photo_unique_id": "AgADrqcxG2lXwBQ"
}
},
"date": "2024-06-26 03:20:05",
"chat": {
"_": "Chat",
"id": -1002231967193,
"type": "ChatType.SUPERGROUP",
"is_verified": false,
"is_restricted": false,
"is_creator": false,
"is_scam": false,
"is_fake": false,
"title": "Экспериментальный чат",
"has_protected_content": false,
"permissions": {
"_": "ChatPermissions",
"can_send_messages": true,
"can_send_media_messages": true,
"can_send_other_messages": true,
"can_send_polls": true,
"can_add_web_page_previews": true,
"can_change_info": true,
"can_invite_users": true,
"can_pin_messages": true
}
},
"mentioned": false,
"scheduled": false,
"from_scheduled": false,
"has_protected_content": false,
"text": "Хой",
"outgoing": false
}
То есть пользователь realnikolai получил полученное сообщение в групповом чате и вывел его в консоль. Так и должно быть.
Но когда пользователь realpavel опубликовал сообщение в чате с id=-1001072533952, в консоль не было выведено ничего, как будто пользователь realnikolai его не получил. А когда пользователь realnikolai отправил в тот же чат своё сообщение, то он увидел своё сообщение и вывел в консоль:
{
"_": "Message",
"id": 153723,
"from_user": {
"_": "User",
"id": 5936165702,
"is_self": true,
"is_contact": true,
"is_mutual_contact": true,
"is_deleted": false,
"is_bot": false,
"is_verified": false,
"is_restricted": false,
"is_scam": false,
"is_fake": false,
"is_support": false,
"is_premium": false,
"first_name": "Николай",
"status": "UserStatus.ONLINE",
"next_offline_date": "2024-06-26 03:33:42",
"username": "realnikolai",
"dc_id": 2,
"phone_number": "*********",
"photo": {
"_": "ChatPhoto",
"small_file_id": "AQADAgAD2cIxG9_n-EgAEAIAA0az0mEBAAPlM1hGMTQTVwAEHgQ",
"small_photo_unique_id": "AgAD2cIxG9_n-Eg",
"big_file_id": "AQADAgAD2cIxG9_n-EgAEAMAA0az0mEBAAPlM1hGMTQTVwAEHgQ",
"big_photo_unique_id": "AgAD2cIxG9_n-Eg"
}
},
"date": "2024-06-26 03:31:26",
"chat": {
"_": "Chat",
"id": -1001072533952,
"type": "ChatType.SUPERGROUP",
"is_verified": false,
"is_restricted": false,
"is_creator": false,
"is_scam": false,
"is_fake": false,
"title": "Хастл",
"username": "all_hustle",
"photo": {
"_": "ChatPhoto",
"small_file_id": "AQADAgAD9qoxG6DgMwEAEAIAA0BebesW____JenP6rkgy6EABB4E",
"small_photo_unique_id": "AgAD9qoxG6DgMwE",
"big_file_id": "AQADAgAD9qoxG6DgMwEAEAMAA0BebesW____JenP6rkgy6EABB4E", "big_photo_unique_id": "AgAD9qoxG6DgMwE"
},
"dc_id": 2,
"has_protected_content": false,
"permissions": {
"_": "ChatPermissions",
"can_send_messages": true,
"can_send_media_messages": true,
"can_send_other_messages": true,
"can_send_polls": false,
"can_add_web_page_previews": true,
"can_change_info": false,
"can_invite_users": true,
"can_pin_messages": false
}
},
"reply_to_message_id": 32577,
"reply_to_message": {
"_": "Message",
"id": 32577,
"from_user": {
"_": "User",
"id": 20177056,
"is_self": false,
"is_contact": false,
"is_mutual_contact": false,
"is_deleted": false,
"is_bot": false,
"is_verified": false,
"is_restricted": false,
"is_scam": false,
"is_fake": false,
"is_support": false,
"is_premium": false,
"first_name": "AL",
"status": "UserStatus.RECENTLY",
"username": "aloginovpro"
},
"date": "2024-01-14 13:07:20",
"chat": {
"_": "Chat",
"id": -1001072533952,
"type": "ChatType.SUPERGROUP",
"is_verified": false,
"is_restricted": false,
"is_creator": false,
"is_scam": false,
"is_fake": false,
"title": "Хастл",
"username": "all_hustle",
"photo": {
"_": "ChatPhoto",
"small_file_id": "AQADAgAD9qoxG6DgMwEAEAIAA0BebesW____JenP6rkgy6EABB4E",
"small_photo_unique_id": "AgAD9qoxG6DgMwE",
"big_file_id": "AQADAgAD9qoxG6DgMwEAEAMAA0BebesW____JenP6rkgy6EABB4E",
"big_photo_unique_id": "AgAD9qoxG6DgMwE"
},
"dc_id": 2,
"has_protected_content": false,
"permissions": {
"_": "ChatPermissions",
"can_send_messages": true,
"can_send_media_messages": true,
"can_send_other_messages": true,
"can_send_polls": false,
"can_add_web_page_previews": true,
"can_change_info": false,
"can_invite_users": true,
"can_pin_messages": false
}
}
},
"mentioned": false,
"scheduled": false,
"from_scheduled": false,
"has_protected_content": false,
"text": "Экс",
"outgoing": true
}
Кроме того, в этом же чате с -1001072533952 пользователь realnikolai видит сообщения, в которых упоминают его (являются ответами на его сообщения).
Вопросы:
- **почему realnikolai получает и выводит в консоль только те сообщения из чата -1001072533952, которые отправил он сам? При этом сообщения в другом чате он выводит все.
- Вопрос: как фильтровать сообщения, приходящие в какую-то конкретную тему суперчата? Вроде сообщения в pyrogram не имеют атрибута темы чата.
- не обязательный вопрос, но всё же, вдруг знаете: почему сообщение, отправленное создателем чата -1002231967193 содержит атрибут "is_creator": false?**
Примечание. Если смотреть в ручную через смартфон, то пользователь realnikolai может и видеть, и пересылать чужие сообщения. То есть все права есть. Но программа почему-то их не выводит в консоль.