Synchbot: Difference between revisions
Revision as of 12:38, 14 April 2020
Synchbot is a maintenance service that creates, edits, or deletes your user pages across Wikimedia wikis. To request changes to your user pages on all wikis, see How do I make a request? . For more info about the bot, see the FAQs.
Synchbot is run on the first weekend of each month. Next scheduled run: 2–3 May 2020.
Synchbot
Requests
See previous requests.
Shin Khant Maung (migrate to global user page)
- go to
User:Shin Khant Maung
on every wiki - and delete the page.
request_user = 'Shin Khant Maung', request_titles = ['User:Shin Khant Maung'], request_action = lambda bot: bot.delete(), skip_existing = False, skip_new = True, skip_unregistered = False, skip_wikis = [], only_wikis = [], delete_summary = None, edit_summary = None,
Shin Khant Maung (talk) 09:18, 17 March 2020 (UTC) [reply ]
- Done! Deleted two user pages.
time | wiki | logged action |
---|---|---|
15:21 | meta.wikimedia.org | skipped (cannot delete global user page). |
15:22 | my.wikipedia.org | deleted (was 1815 bytes). |
15:27 | en.wikipedia.org | deleted (was 1509 bytes). |
Leela52452 (migrate to global user page)
- go to
User:Leela52452
on every wiki - and delete the page.
request_user = 'Leela52452', request_titles = ['User:Leela52452'], request_action = lambda bot: bot.delete(), skip_existing = False, skip_new = True, skip_unregistered = False, skip_wikis = [], only_wikis = [], delete_summary = None, edit_summary = None,
Leela52452 (talk) 12:57, 24 March 2020 (UTC) [reply ]
- Done! Deleted two user pages.
time | wiki | logged action |
---|---|---|
15:30 | commons.wikimedia.org | marked for deletion (was 119 bytes). |
15:30 | meta.wikimedia.org | skipped (cannot delete global user page). |
15:30 | en.wikipedia.org | deleted (was 465 bytes). |
Leela52452 (migrate to global CSS/JS)
- go to
User:Leela52452/*.css, User:Leela52452/*.js
on every wiki - and delete the page.
request_user = 'Leela52452', request_titles = ['User:Leela52452/*.css, User:Leela52452/*.js'], request_action = lambda bot: bot.delete(), skip_existing = False, skip_new = True, skip_unregistered = False, skip_wikis = [], only_wikis = [], delete_summary = None, edit_summary = None,
Please delete all local CSS and JS pages. Leela52452 (talk) 12:57, 24 March 2020 (UTC) [reply ]
- Done! Deleted one
common.css
page:
time | wiki | logged action |
---|---|---|
15:58 | en.wikipedia.org | deleted (was 103 bytes). |
- And one
common.js
page:
time | wiki | logged action |
---|---|---|
16:01 | en.wikipedia.org | deleted (was 0 bytes). |
- And one
skin.css
page:
time | wiki | logged action |
---|---|---|
16:02 | en.wikipedia.org | deleted (was 103 bytes). |
1997kB
- go to
User_talk:1997kB
on every wiki (except on enwiki, wikidatawiki, metawiki, simplewiki, hiwiki, acewiki, afwiki, afwikibooks, zh-classicalwiki, zuwiki) - and prepend this text:
<div style="display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 16px 0; border: 1px solid #aaaaaa;"> <div style="padding: 12px;">[[File:OOjs UI icon pushPin.svg|75px|link=[[m:User_talk:1997kB]]]]</div> <div style="flex: 1; padding: 12px; background-color: #dddddd; color: #555555;"> <div style="font-weight: bold; font-size: 150%; color: red; font-family: 'Comic Sans MS'">Welcome to my talk page!</div> <div style="max-width: 700px">Hey! I am 1997kB. I patrol many projects and where I don't know the language I only act in cases of serious vandalism. If you think I have done anything wrong, feel free to message me. For ease of communication and to keep conversations in one place, I prefer you leave me messages at my [[:m:User_talk:1997kB|<mark style="color:red">'''talk page'''</mark>]] on metawiki. If you don't like that you can leave me messages here too, but since I do not watch all of my talk pages, your message might not get a timely response. Thanks! [[File:Face-smile.svg|18px|link=[[m:User:1997kB]]]]</div> </div> </div> <!-- Don't change anything above this line. Thank you! -->
request_user = '1997kB', request_titles = ['User_talk:1997kB'], request_action = lambda bot: bot.save(u"""...""" + "\n\n" + bot.text()), skip_existing = False, skip_new = False, skip_unregistered = True, skip_wikis = ['enwiki', 'wikidatawiki', 'metawiki', 'simplewiki', 'hiwiki', 'acewiki', 'afwiki', 'afwikibooks', 'zh-classicalwiki', 'zuwiki'], only_wikis = [], delete_summary = None, edit_summary = None,
Also if possible add it only to existing pages and do not create any new. Thanks! ‐‐1997kB (talk) 04:45, 25 March 2020 (UTC) [reply ]
- Hi @1997kB! Yep, that's possible. I suggest a few corrections:
- "I patrol many projects, and where I don't know the language I only act
(削除) s (削除ここまで)in cases of serious vandalism"; - "...For
(削除) the (削除ここまで)ease of communication and(削除) keeping conversation at (削除ここまで)to keep conversations in one place, I prefer you leave me messages..."; - "...leave me messages here too...".
- "I patrol many projects, and where I don't know the language I only act
- Do you want me to make those changes, or use the original text as-is? —Pathoschild 15:08, 05 April 2020 (UTC) [reply ]
- @Pathoschild: Yes please, make those changes. Thanks! ‐‐1997kB (talk) 03:34, 6 April 2020 (UTC) [reply ]
- Done! 138 pages were updated. The bot couldn't edit ukwikivoyage due to an abuse filter, so you'll need to edit that one yourself.
time | wiki | logged action |
---|---|---|
04:39 | commons.wikimedia.org | updated (was 4006 bytes). |
04:40 | incubator.wikimedia.org | updated (was 1278 bytes). |
04:40 | www.mediawiki.org | updated (was 2053 bytes). |
04:40 | meta.wikimedia.org | skipped (in skip list). |
04:40 | wikisource.org | updated (was 113 bytes). |
04:40 | ace.wikipedia.org | skipped (in skip list). |
04:40 | af.wikipedia.org | skipped (in skip list). |
04:40 | ar.wikipedia.org | updated (was 3597 bytes). |
04:40 | arz.wikipedia.org | updated (was 2188 bytes). |
04:40 | ast.wikipedia.org | updated (was 112 bytes). |
04:40 | az.wikipedia.org | updated (was 144 bytes). |
04:40 | azb.wikipedia.org | updated (was 311 bytes). |
04:40 | bar.wikipedia.org | updated (was 356 bytes). |
04:40 | be.wikipedia.org | updated (was 190 bytes). |
04:40 | bh.wikipedia.org | updated (was 6796 bytes). |
04:40 | bjn.wikipedia.org | updated (was 4703 bytes). |
04:41 | bn.wikipedia.org | updated (was 8600 bytes). |
04:41 | af.wikibooks.org | skipped (in skip list). |
04:41 | ar.wikibooks.org | updated (was 5147 bytes). |
04:41 | az.wikibooks.org | updated (was 2686 bytes). |
04:41 | bn.wikibooks.org | updated (was 4695 bytes). |
04:41 | en.wikibooks.org | updated (was 864 bytes). |
04:41 | fa.wikibooks.org | updated (was 3660 bytes). |
04:41 | fr.wikibooks.org | updated (was 4376 bytes). |
04:41 | li.wikibooks.org | updated (was 133 bytes). |
04:41 | th.wikibooks.org | updated (was 216 bytes). |
04:41 | bs.wikipedia.org | updated (was 17 bytes). |
04:41 | ca.wikipedia.org | updated (was 2514 bytes). |
04:41 | ckb.wikipedia.org | updated (was 1207 bytes). |
04:42 | cs.wikipedia.org | updated (was 1406 bytes). |
04:42 | www.wikidata.org | skipped (in skip list). |
04:42 | eml.wikipedia.org | updated (was 118 bytes). |
04:42 | en.wikipedia.org | skipped (in skip list). |
04:42 | eo.wikipedia.org | updated (was 94 bytes). |
04:42 | es.wikipedia.org | updated (was 115 bytes). |
04:42 | eu.wikipedia.org | updated (was 2293 bytes). |
04:42 | fa.wikipedia.org | updated (was 5976 bytes). |
04:42 | fo.wikipedia.org | updated (was 94 bytes). |
04:42 | fr.wikipedia.org | updated (was 1789 bytes). |
04:42 | frr.wikipedia.org | updated (was 496 bytes). |
04:42 | gag.wikipedia.org | updated (was 860 bytes). |
04:42 | gor.wikipedia.org | updated (was 4531 bytes). |
04:42 | gu.wikipedia.org | updated (was 349 bytes). |
04:42 | ha.wikipedia.org | updated (was 1254 bytes). |
04:42 | hi.wikipedia.org | skipped (in skip list). |
04:42 | hif.wikipedia.org | updated (was 165 bytes). |
04:42 | hr.wikipedia.org | updated (was 3801 bytes). |
04:42 | ht.wikipedia.org | updated (was 130 bytes). |
04:43 | hy.wikipedia.org | updated (was 8916 bytes). |
04:43 | hyw.wikipedia.org | updated (was 152 bytes). |
04:43 | id.wikipedia.org | updated (was 3083 bytes). |
04:43 | ilo.wikipedia.org | updated (was 808 bytes). |
04:43 | it.wikipedia.org | updated (was 8243 bytes). |
04:43 | ka.wikipedia.org | updated (was 371 bytes). |
04:43 | kk.wikipedia.org | updated (was 270 bytes). |
04:43 | kn.wikipedia.org | updated (was 285 bytes). |
04:43 | lb.wikipedia.org | updated (was 9 bytes). |
04:43 | lij.wikipedia.org | updated (was 123 bytes). |
04:43 | lmo.wikipedia.org | updated (was 1266 bytes). |
04:43 | lt.wikipedia.org | updated (was 85 bytes). |
04:43 | lv.wikipedia.org | updated (was 172 bytes). |
04:43 | mai.wikipedia.org | updated (was 447 bytes). |
04:44 | map-bms.wikipedia.org | updated (was 3980 bytes). |
04:44 | ml.wikipedia.org | updated (was 14084 bytes). |
04:44 | mr.wikipedia.org | updated (was 997 bytes). |
04:44 | ms.wikipedia.org | updated (was 5930 bytes). |
04:44 | my.wikipedia.org | updated (was 8486 bytes). |
04:44 | nds.wikipedia.org | updated (was 127 bytes). |
04:44 | ne.wikipedia.org | updated (was 908 bytes). |
04:44 | ar.wikinews.org | updated (was 4983 bytes). |
04:44 | en.wikinews.org | updated (was 1136 bytes). |
04:44 | fa.wikinews.org | updated (was 5910 bytes). |
04:44 | fr.wikinews.org | updated (was 5305 bytes). |
04:44 | it.wikinews.org | updated (was 2814 bytes). |
04:44 | ru.wikinews.org | updated (was 80 bytes). |
04:45 | pa.wikipedia.org | updated (was 233 bytes). |
04:45 | pms.wikipedia.org | updated (was 110 bytes). |
04:45 | ps.wikipedia.org | updated (was 455 bytes). |
04:45 | pt.wikipedia.org | updated (was 2000 bytes). |
04:45 | ar.wikiquote.org | updated (was 6865 bytes). |
04:45 | az.wikiquote.org | updated (was 2189 bytes). |
04:45 | be.wikiquote.org | updated (was 193 bytes). |
04:45 | en.wikiquote.org | updated (was 352 bytes). |
04:45 | fa.wikiquote.org | updated (was 8061 bytes). |
04:45 | gu.wikiquote.org | updated (was 6380 bytes). |
04:45 | hi.wikiquote.org | updated (was 269 bytes). |
04:45 | it.wikiquote.org | updated (was 127 bytes). |
04:45 | th.wikiquote.org | updated (was 216 bytes). |
04:46 | ro.wikipedia.org | updated (was 102 bytes). |
04:46 | ru.wikipedia.org | updated (was 156 bytes). |
04:46 | sa.wikipedia.org | updated (was 336 bytes). |
04:46 | se.wikipedia.org | updated (was 190 bytes). |
04:46 | shn.wikipedia.org | updated (was 209 bytes). |
04:46 | simple.wikipedia.org | skipped (in skip list). |
04:46 | sk.wikipedia.org | updated (was 24 bytes). |
04:46 | ar.wikisource.org | updated (was 1923 bytes). |
04:46 | az.wikisource.org | updated (was 2098 bytes). |
04:46 | bn.wikisource.org | updated (was 4844 bytes). |
04:46 | en.wikisource.org | updated (was 115 bytes). |
04:46 | fr.wikisource.org | updated (was 111 bytes). |
04:46 | gl.wikisource.org | updated (was 4188 bytes). |
04:46 | gu.wikisource.org | updated (was 172 bytes). |
04:46 | hi.wikisource.org | updated (was 405 bytes). |
04:46 | it.wikisource.org | updated (was 137 bytes). |
04:47 | la.wikisource.org | updated (was 122 bytes). |
04:47 | ml.wikisource.org | updated (was 4889 bytes). |
04:47 | sa.wikisource.org | updated (was 3390 bytes). |
04:47 | te.wikisource.org | updated (was 3360 bytes). |
04:47 | th.wikisource.org | updated (was 216 bytes). |
04:47 | sq.wikipedia.org | updated (was 5636 bytes). |
04:47 | sr.wikipedia.org | updated (was 6823 bytes). |
04:47 | sv.wikipedia.org | updated (was 131 bytes). |
04:47 | sw.wikipedia.org | updated (was 10 bytes). |
04:47 | ta.wikipedia.org | updated (was 3638 bytes). |
04:47 | te.wikipedia.org | updated (was 5517 bytes). |
04:47 | tg.wikipedia.org | updated (was 5115 bytes). |
04:47 | th.wikipedia.org | updated (was 8443 bytes). |
04:47 | tk.wikipedia.org | updated (was 128 bytes). |
04:48 | tl.wikipedia.org | updated (was 5804 bytes). |
04:48 | ts.wikipedia.org | updated (was 1433 bytes). |
04:48 | uk.wikipedia.org | updated (was 248 bytes). |
04:48 | ur.wikipedia.org | updated (was 7585 bytes). |
04:48 | ar.wikiversity.org | updated (was 6774 bytes). |
04:48 | en.wikiversity.org | updated (was 2849 bytes). |
04:48 | hi.wikiversity.org | updated (was 307 bytes). |
04:48 | zh.wikiversity.org | updated (was 1050 bytes). |
04:48 | vi.wikipedia.org | updated (was 521 bytes). |
04:48 | vls.wikipedia.org | updated (was 1139 bytes). |
04:48 | de.wikivoyage.org | updated (was 892 bytes). |
04:48 | en.wikivoyage.org | updated (was 843 bytes). |
04:48 | fa.wikivoyage.org | updated (was 4426 bytes). |
04:48 | it.wikivoyage.org | updated (was 203 bytes). |
04:48 | uk.wikivoyage.org | skipped (blocked by abuse filter). |
04:56 | zh.wikivoyage.org | updated (was 2716 bytes). |
04:57 | zh.wikipedia.org | updated (was 3459 bytes). |
04:57 | zh-classical.wikipedia.org | skipped (in skip list). |
04:57 | zu.wikipedia.org | skipped (in skip list). |
04:57 | ar.wiktionary.org | updated (was 4539 bytes). |
04:57 | ast.wiktionary.org | updated (was 14 bytes). |
04:57 | az.wiktionary.org | updated (was 2149 bytes). |
04:57 | fa.wiktionary.org | updated (was 3456 bytes). |
04:57 | it.wiktionary.org | updated (was 120 bytes). |
04:57 | ka.wiktionary.org | updated (was 127 bytes). |
04:57 | pt.wiktionary.org | updated (was 154 bytes). |
04:57 | ro.wiktionary.org | updated (was 1356 bytes). |
04:57 | sv.wiktionary.org | updated (was 750 bytes). |
04:57 | te.wiktionary.org | updated (was 120 bytes). |
04:58 | th.wiktionary.org | updated (was 216 bytes). |
04:58 | zh.wiktionary.org | updated (was 2374 bytes). |
Mrjulesd (migrate to global user page)
- go to
User:Mrjulesd
on every wiki - and delete the page.
request_user = 'Mrjulesd', request_titles = ['User:Mrjulesd'], request_action = lambda bot: bot.delete(), skip_existing = False, skip_new = True, skip_unregistered = False, skip_wikis = [], only_wikis = [], delete_summary = None, edit_summary = None,
Mrjulesd (talk) 17:51, 7 April 2020 (UTC) [reply ]
FAQs
How do I make a request?
Here's how to submit a Synchbot task. If you're not sure how to fill in the template, just choose one below and add a comment explaining what you want. There's no approval process; your request will be handled in the next batch! Make sure you watch this page in case of questions.
- To migrate to your global user page (delete your local
User
pages): - Add this text at the bottom of the Requests section:
==={{subst:REVISIONUSER}} (migrate to global user page)=== {{#invoke:synchbot|request |user = {{subst:REVISIONUSER}} |action = delete |title = User:{{subst:REVISIONUSER}} |text = |skip wikis = |skip existing = no |status = <!-- don't change this line --> }} ~~~~
- Optional: add a comment before
~~~~
or edit the template with any specifics (e.g. pages to skip).
- Add this text at the bottom of the Requests section:
- To migrate to your global CSS and JavaScript pages (delete your local
*.css
and*.js
pages): - Add this text at the bottom of the Requests section:
==={{subst:REVISIONUSER}} (migrate to global CSS/JS)=== {{#invoke:synchbot|request |user = {{subst:REVISIONUSER}} |action = delete |title = User:{{subst:REVISIONUSER}}/*.css, User:{{subst:REVISIONUSER}}/*.js |text = |skip wikis = |skip existing = no |status = <!-- don't change this line --> }} Please delete all local CSS and JS pages. ~~~~
- Optional: add a comment before
~~~~
or edit the template with any specifics (e.g. pages to skip).
- Add this text at the bottom of the Requests section:
- For a custom request:
- Add this text at the bottom of the Requests section:
==={{subst:REVISIONUSER}}=== {{#invoke:synchbot|request |user = {{subst:REVISIONUSER}} |action = replace |title = |text = |skip wikis = |skip existing = yes |status = <!-- don't change this line --> }}~~~~
- Edit the template values:
field how to edit it user
The name of the user who owns the pages. The default is your current username. action
What you want the bot to do. This can be replace (overwrite pages with the new text), prepend (insert the new text at the top of the page), append (insert the new text at the bottom of the page), or delete (delete all pages). title
The title of the page you want edited on every wiki. text
The text you want placed on the edited pages. A few guidelines: - Don't add categories or templates, because they probably don't exist on most wikis.
- Use interwiki links to link to a specific wiki (like
[[m:Article]]
for a page on Meta). Don't use interlanguage links (like[[en:Article]]
instead of[[w:en:Article]]
), unless you really want to link to a different wiki depending on the current project. - For a user page, use something simple and informative. Most people provide a few sentences about themselves with a link to their main user page. Consider using your global user page instead.
skip wikis
A list of wikis to skip (in addition to auto-skipped wikis). You can use a wildcard (like pt.* to skip all Portuguese wikis). The format doesn't really matter. skip existing
Whether to skip pages that already exist. - Watch this page in case I have questions. Otherwise it will be done soon! :)
- Add this text at the bottom of the Requests section:
How long will it take?
The 'next scheduled run' date at the top of the page shows when requests will be handled. All open requests are typically handled within one day of that date.
Which wikis are edited?
The bot edits almost all Wikimedia wikis in every language. It only skips private wikis, fishbowl wikis, and loginwiki.
Can the bot delete pages?
The bot can delete any of your user pages or subpages (except your main talk page). When deleting your user page, you must have a global user page and the bot will skip wikis where you have a block history. On arwiki and on commons, the bot will place the appropriate speedy-deletion template instead.
Can the bot do X?
The bot can edit or delete pages (but protecting/renaming/etc are outside its remit). The bot is very flexible to support custom requests. For example, some custom requests in the past have involved checking for a specific text, page size, and even page history. If you have a custom requirement, feel free to ask Pathoschild (the bot operator) whether it's possible.
What is Synchbot?
Synchbot is a bot which makes an automated change to a specific page title on all matching wikis. It's been run by Pathoschild since 2008. The bot uses the global deleter and global editinterface permissions, and runs under a web of permissions, exceptions, and special cases negotiated with local communities.
Historically this was used to support global user pages from 2008 to 2015 (now part of global user pages), global CSS/JS from 2008 to 2014 (now available via your global.css
or your global.js
), and crosswiki account creation from 2009 to 2011 (now part of unified login). Now it's mainly used to delete local pages that are no longer needed due to the new global user page features.
See also
- Global user pages
- Related tools:
- Krinkle's Global SUL creates your account on all wikis
- MassMessage sends notifications to a list of users
- Multilingual Templates and Modules project
- Related discussions:
- 2014-08: request for global editinterface
- 2014-09: request for global deleter
- 2015-02: community consensus for bulk deletion of user pages
- 2015-08: renew global editinterface
- 2015-08: renew global delete
- 2016-08: renew global editinterface and global delete
- 2017-12: renew global editinterface and global delete
- 2019-03: renew global editinterface and global delete
- 2020-03: renew global editinterface and global delete
- Synchbot campaigns: