Flow will start appearing more widely soon when we release a feature to
allow users on certain wikis to opt into Flow on their user talk pages.
The most common thing you'll probably want to do on a Flow page is post
a new topic.
For Pywikibot, that is pretty easy, since they have Flow support now.
See
https://www.mediawiki.org/wiki/Manual:Pywikibot/Flow .
For on-wiki scripts, you can use MessagePoster (you don't need to know
if it's a Flow board ahead of time!):
---
var title = new mw.Title( 'titleString' );
var posterPromise = mw.messagePoster.factory.create( title );
posterPromise.done( function ( poster ) {
poster.post( 'This is the topic title', 'This is the body of a message
posted with MessagePoster' );
} );
---
Depend on 'mediawiki.messagePoster' and 'mediawiki.Title'.
In some cases, you might want to check if a link is already there (e.g.
to see if a warning template already included links to a particular
policy). You can use prop=links for this.
Flow is based on an infinitely-scrollable list of topics, each of which
is its own page. So to use prop=links, you may need to loop through a
set of recent enough topics (e.g. 25) then combine them into a
prop=links request, e.g.
https://www.mediawiki.org/w/api.php?action=query&titles=Topic:Sojpiv245…
.
pywikibot has support for looping through topics.
Some bots need to check the header of a page for wikitext (e.g. a bot
exclusion template). This can be done with view-header, but I don't
think pywikibot has support for that yet (but it can be done directly).
See
https://www.mediawiki.org/w/api.php?action=flow&format=jsonfm&page=…
.
A better way to do this would be templatelinks, but I'm not sure if
there is an API to show templates PageX transcludes.
For other questions, contact us at #wikimedia-collaboration . Or, if a
certain tool needs Flow support and you're not sure where to start, you
can file a bug (you can also reply here, but a ping in IRC would be
appreciated).
Matt Flaschen