-
Notifications
You must be signed in to change notification settings - Fork 0
Error Messages Reference
Every message the widget can show a visitor, what causes it, and what to do. Messages are deliberately generic — the plugin never shows a visitor the provider's own error text, because upstream errors can leak endpoint and request detail.
| Message | Cause | Fix |
|---|---|---|
| Please wait before requesting another question. | Rate limit hit, or the rate-limit table is missing | Please Wait Before Requesting Another Question |
| Please wait before submitting another answer. | Answer-submission rate limit hit | Wait up to a minute; raise the answer| limit if it recurs |
| Could not generate a question. Please try again. | Generic front-end failure message | Could Not Generate a Question |
| The AI service is temporarily unavailable. Please try again. | Provider unreachable, refused, or timed out | Check credentials, credit and network |
| The AI provider returned an invalid response. | Reply was not usable JSON | Try a larger or better instruction-following model |
| The AI response is missing the "…" field. | JSON parsed but a required field was absent | Same — model quality |
| The AI response did not meet the required content limits. | Reply too long, or empty after sanitising | Same — model quality |
| The configured AI provider is not available. | Provider class missing | Reinstall the plugin |
| The Ollama configuration is invalid. | URL empty, malformed, or host not allowed | Set up Ollama |
| The Hugging Face configuration is invalid. | Token or model field empty | Set up Hugging Face |
| The OpenAI-compatible configuration is invalid. | Endpoint not a valid public URL, or key or model empty | Set up an OpenAI-compatible Provider |
| Invalid question widget token. | Request arrived without a valid widget token | Usually a caching or script problem — see below |
| Invalid question token. | Malformed question token on submission | Reload the page |
| This question has expired. Please request a new one. | More than ten minutes passed, or the server restarted | Press Next Question |
| This question has already been answered. | The punchline was already released for this question | Press Next Question |
| This question belongs to another visitor. | Token presented by a different client than requested it | Reload the page |
| Your answer is too long. | Answer exceeded 1,000 characters | Shorten it |
| Type your answer first. | Submit pressed with an empty box | Type something |
These three mean the settings screen is incomplete or invalid for the selected provider. They appear immediately, without any call being attempted, so they are cheap and fast — a good sign you have a settings problem rather than a provider problem.
Each provider has its own message, which tells you which panel to look at. Remember that only the selected provider matters; a fully-filled panel for a provider you have not selected does nothing.
"The AI service is temporarily unavailable" means the call was attempted and failed: bad credentials, no credit, an upstream rate limit, a network block, or a timeout at 30 seconds. The plugin cannot tell you which without showing you the upstream error, which it will not do.
To see the real cause, enable WP_DEBUG on a staging site and read the debug log. Do not leave debug logging enabled in production.
The three response errors — invalid JSON, missing field, content limits — all mean the provider replied but the reply was unusable. The plugin asks for strict JSON and validates every field, with caps of 300 characters for the question, 160 for the punchline and 200 for the hint.
These are almost always a model-quality problem. Small models struggle to return valid JSON consistently. If you see them intermittently, try a larger instruction-tuned model before suspecting the plugin.
These relate to the two short-lived tokens the widget uses.
"Invalid question widget token" means the request arrived without a properly formed widget token. In normal use this cannot happen. When it does, suspect:
- an optimisation plugin rewriting or deferring the widget's JavaScript
- HTML being cached in a way that strips data attributes
- something calling the REST endpoint directly
"This question has expired" is routine. Questions live for ten minutes. Leave a tab open over lunch and the answer is gone — press Next Question.
"This question has already been answered" means the punchline was already released. Each question reveals once, by design. Double-clicking Submit can produce it.
"This question belongs to another visitor" means the tokens did not match the client presenting them. Ordinary causes are switching networks mid-session or an aggressive privacy extension changing the User-Agent between requests. Reloading fixes it.
If the site is idle and everyone sees "Please wait before requesting another question", it is not a rate limit in the normal sense. The rate-limit table is probably missing, and the limiter fails closed on purpose. Deactivate and reactivate the plugin to recreate it. Full detail on the dedicated page.
Getting started
- Home
- What AI Fun Questions Does
- Installing the Plugin
- The Settings Screen
- Adding the Widget to Your Site
Provider setup
Running it
- Keeping API Keys Out of the Database
- Rate Limits Explained
- Running Behind Cloudflare or a CDN
- What It Costs to Run
Troubleshooting
- Error Messages Reference
- Please Wait Before Requesting Another Question
- Could Not Generate a Question
Privacy and security
Extending