How to display a custom message on node creation.
Some users on a Drupal site I have can create nodes which aren't published immediately; they need to go through a moderation process by the site admins. The content type in question is set not to publish right away. When I added a new node as a user all I got was the standard Drupal 'Content type Not another story again! has been created.' in a green box:

I want a moderation message in a yellow warning box instead. Something like this:

This can be done by installing the Rules module and then setting up a Rule to act on the After saving new content event for my Content Type:

I choose to show a message:

And set the Message Type to warning, thus making it appear in a yellow box:

I then had the problem of how to make the default messages disappear: at the moment I get both my custom message (from Rules) and the default message, which is a bit annoyingly superfluous.
This can be done by installing the Disable Messages module, which is not that obvious to configure as you have to use regular expressions. Anyway, having installed it, let's say I want to filter out these particular messages, I'd put the following in the Messages to be disabled box:
Installation Story .* has been created.
The .* is a regex wildcard meaning 'any number of any alphanumeric characters' and nicely matches the system message so that I only get the one I want: Mine :)
Then on the filter section, I choose to only do this on the area of the site in question, with an entry like this:
stories/*
Finally, I specified a set of known user ids that I didn't want the filtering for, these are my users that I consider admins.
Maybe there's a better way of doing this, but this works for now.
