if message.chat.photo ... message.chat.photo.big_file_id
Хотя, можно пойти от обратного - если хендлер ловит сообщение, но данных event.from_id или event.sender нет, значит сообщение пишет сам чат.
Но как-то мне не внушает доверия этот вариант.
async for user in bot.iter_participants(event.chat, filter=ChannelParticipantsAdmins):
print(user.stringify())
Записывать в редис клиента и сколько он сделал запросов в минуту ? Если более 10, то не отвечаем ему ?
Но тогда могут заспамить множеством клиентов.
гуглил, но решения не нашёл