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:
- If no page exists at the field name, make it into a redirect.
- Else, if a redirect exists at the field name and it already redirects to the target page, do nothing.
- Else, if a redirect exists at the field name but it points somewhere else, make it into a disambig page using
{{substdisambig}}. - Else, if a disambig exists at the field name and it already links to the target page, do nothing.
- 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.
- 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 (meow ∙ hunt) 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.