Is it possible to set a prefix for each cog?
For example the Cog with admin commands has the prefix pa! and the cog for some fun commands pf!.
Without using on_message.
Edit:
I guess I have to go more in detail:

My cog for serverstats has a command called 'stats', this command should get
triggered when I'm using pa!
My cog for fun has a 'stats' command too. This should be triggered when I'm
using pf!

My only thought up to now was to set the default prefix to p! and then call the command astats. But I want to have a better way.
If all of your commands are in the on_message event, you can split the message content with spaces (" ") and check the first element of the splitted list for the prefix and put the avaibale commands under an if statement. This could work, but will be slighly resource heavy depending on the amount of the commands
Different prefix for each Cog?