User:OrphanBot/tagbot functionality

The bot will periodically go through the list of recent image uploads. For each image upload:


 * 1) If the image is marked for deletion, the bot will ignore it.
 * 2) If the image description page has a template that should not be used, it notifies the operator for manual processing.
 * 3) If the image description page has a license template that requires separate source information, but has no text other than templates and section headings, or if the image description page is empty, it will add a dated no copyright holder template to the image description page and notify the uploader.
 * 4) If the image description page has an obsolete license template, it will add a dated no copyright information template to the image description page, and notify the uploader.
 * 5) If the image description page contains a fair use in template, but does not contain a fair-use rationale, it will add a dated no rationale template to the image description page, and notify the uploader.
 * 6) If the image description page does not contain any templates, it will add a dated untagged template to the image description page, and notify the uploader.
 * 7) If the image description page does not contain any known license templates, but does contain other templates, it will notify the operator.

If the appropriate dated categories for the deletion templates the bot uses don't exist, it will create them.

Limits on notification
To keep people from being flooded with notices, and to not notify people who have only a tangental connection to the image:
 * The bot will not give a user more than one notification per run.
 * The bot will not notify a user more than once for a given image.
 * The bot will not notify a user if they are not the original uploader of the image.
 * If a user has opted out of the bot's notifications, the bot will not notify the user.

Failure modes
If the bot encounters an unexpected situation, it should fail in favor of doing nothing.