Wikipedia:Projekt DotNetWikiBot Framework/Innocent bot/Bidrag
Utseende
using System; using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Collections; using System.Xml; using DotNetWikiBot; using System.Threading; using System.Net; using System.Collections.Generic; public class TableRow { public String cell1; public int cell2; public int cell3; public TableRow(String c1, int c2, int c3) { cell1 = c1; cell2 = c2; cell3 = c3; } } class MyBot : Bot { public static void Main() { String[] users = new String[4]; String[] page = new String[4]; String[] header = new String[4]; String[] footer = new String[4]; String[] interim1 = new String[4]; String[] interim2 = new String[4]; users[0]="Grillo"; users[1]="Lavallen"; page[0]="Användare:Innocent bot/Contributions/Grillo"; page[1]="Användare:Innocent bot/Contributions/Lavallen"; header[0]=""; header[1]="{|\n"; footer[0]=""; footer[1]="|}"; interim1[0]="# [[:"; interim1[1]="|-\n| [[:"; interim2[0]="]]\n"; interim2[1]="]]\n"; Site site = new Site("http://sv.wikipedia.org", "Innocent bot", "********"); for(int i =0;i<2;i++) { Console.WriteLine(users[i]); string sida = header[i]; string next = ""; while(next != "Happy ending") { string urlstr = "http://sv.wikipedia.org/w/api.php?action=query&list=usercontribs&ucuser="+users[i]+"&ucprop=flags|title|size&uclimit=5000&ucnamespace=0&ucstart="+next; string material = site.GetPageHTM(urlstr); Console.WriteLine(material); while(material.IndexOf("title="") != -1) { material = material.Substring(material.IndexOf("title="")+12); if(material.IndexOf("new=""") != -1 && material.IndexOf("new=""")<material.IndexOf("/>")) { string namn = material.Substring(0, material.IndexOf("" ")); string namn2 = namn.Replace("&","&"); namn2 = namn2.Replace(""","\""); string nummer = material.Substring(material.IndexOf("size="")+11); nummer = nummer.Substring(0,nummer.IndexOf(""")); int sum = int.Parse(nummer); if(sum > 100) { Console.WriteLine(namn2+" "+nummer); sida = sida+interim1[i]; sida = sida+namn2; sida = sida+interim2[i]; } } } if(material.IndexOf("ucstart="") != -1) { material = material.Substring(material.IndexOf("ucstart="")+14); next = material.Substring(0,material.IndexOf("" />")); } else next = "Happy ending"; } //Console.WriteLine(sida); sida = sida+footer[i]; Page p = new Page(site, page[i]); p.text = sida; Bot.editComment = users[i]+"'s skapade sidor"; isMinorEdit = false; p.Save(); } } }