def getUsersAndTimestamps( site: pywikibot.site.BaseSite, page: pywikibot.Page) -> Dict[str, pywikibot.Timestamp]: res = {} site.loadrevisions(page, starttime=datetime(2019, 12, 2, 0, 0), rvdir=True, content=True) actualRevs = page._revisions.values() newText = None allUsers = set() for wikilink in pywikibot.link_regex.finditer(page.text): title = wikilink.group("title").strip() user = title[title.find(":") + 1:] allUsers.add(user) for rev in [x for x in actualRevs]: oldText = page.getOldVersion(rev.parent_id) if not newText else newText newText = rev.text addedText = newText[len(oldText):] for wikilink in pywikibot.link_regex.finditer(addedText): title = wikilink.group("title").strip() user = title[title.find(":") + 1:] if user in allUsers: res[user] = rev.timestamp return res