What is a TextCHA?

It is a pure text alternative to CAPTCHAs. MoinMoin uses it to prevent wiki spamming.


  • for page save, ask a random question
  • match the given answer against a regular expression
  • q and a can be configured in the wiki config
  • multi language support: a user gets a textcha in his language or in language_default or in English (depending on availability of questions/answers for the language)

Tips for answering:

  • you need to answer the textcha for e.g.:
    • page save
    • attachment upload
    • user profile creation
  • you do not need to answer the textcha for e.g.:
    • page preview (if you do, it will remember what you entered, though)
    • user profile changes
  • it is usually a simple/short answer
  • it compares case-insensitive
  • sometimes you can find the right answer by reading some important pages of the wiki


Tips for configuration:

  • have 1 word / 1 number answers
  • ask questions that normal users of your site are likely to be able to answer
  • do not ask too hard questions
  • do not ask "computable" questions, like "1+1" or "2*3"
  • do not ask too common questions
  • do not share your questions with other sites / copy questions from other sites (or spammers might try to adapt to this)
  • you should at least give textchas for 'en' (or for your language_default, if that is not 'en') as this will be used as fallback if MoinMoin does not find a textcha in the user's language

In your wiki config, do something like this:

    textchas_disabled_group = u"TrustedEditorGroup" # members of this don't get textchas
    textchas = {
        'en': { # silly english example textchas (do not use them!)
            u"Enter the first 9 digits of Pi.": ur"3\.14159265",
            u"What is the opposite of 'day'?": ur"(night|nite)",
            # ...
        'de': { # some german textchas
            u"Gib die ersten 9 Stellen von Pi ein.": ur"3\.14159265",
            u"Was ist das Gegenteil von 'Tag'?": ur"nacht",
            # ...
        # you can add more languages if you like

Note that TrustedEditorGroup from above example can have groups as members.

De inhoud van deze site is zonder enige vorm van garantie beschikbaar onder zowel de GNU Free Documentation License als de Creative Commons Naamsvermelding-Gelijk delen-licentie