Final Fantasy Wiki
Final Fantasy Wiki

If you know python and want to try your hand at making one of these scripts, start with our boilerplate code and work from there. Alternatively, if there's a feature you wish Intangir Bot had, feel free to suggest it here!

FFWiki-friendly Redirecter[]

Makes redirects for a BladeEngine data module. (Ideally, would support {{A}} and FFXIV Data-style data as well.) Parses the Lua, iterates over the entries in fields and attempts to make it into a redirect:

  1. If no page exists at the field name, make it into a redirect.
  2. Else, if a redirect exists at the field name and it already redirects to the target page, do nothing.
  3. Else, if a redirect exists at the field name but it points somewhere else, make it into a disambig page using {{substdisambig}}.
  4. Else, if a disambig exists at the field name and it already links to the target page, do nothing.
  5. Else, if a disambig exists at the field name but it doesn't link to the target page, add a link in the form "#The {type} from {rel}." at the correct point in the disambig, as the order of the Scope demands.
  6. Else, log to projectspace for a human to figure out.

Challenging parts:

  • Parsing the Lua, though giving Intangir Bot the ability to interact with modules may be useful in its own right. pyluaparser may be helpful.
  • Incorporating Scope into the bot, though this is also useful in its own right. Probably should store as a dictionary in /scripts/databases/ which can be updated by a bot user whenever the Scope changes.

This is the main reason why redirect requests on User:Intangir Bot have gone unanswered. Not because I haven't looked at that page in over a year because I forgot it existed. No sir. (I'll probably write this myself eventually, unless someone else wanted to...) Cat (meowhunt) 03:55, July 10, 2018 (UTC)

FFWiki-friendly Tagger[]

A replacement for the old Bash script. Given a untagged page name and a tag, finds all links to the page and updates them to use a tag.

Challenging parts:

  • We have lots of different link templates and they all work different ways. (Did somebody say string parsing?)

DialogBox implementer[]

Searches mainspace for transclusions of {{q}} and replaces them with invocations of Module:DialogBox according to primary sideicon. This is probably easy, but requires DialogBox to be finished first.

FFVII AI parser[]

Turns raw FFVII AI pseudocode (see Bizarro∙Sephiroth#AI script for an example) into something formatted using {{AI}}.

Challenging parts:

  • The pseudocode is barely human-readable, and probably barely machine-readable as well.